Monomorphize a type argument of size-of operation during codegen
This wasn't necessary until MIR inliner started to consider drop glue as a candidate for inlining; introducing for the first time a generic use of size-of operation. No test at this point since this only happens with a custom inlining threshold.
This commit is contained in:
parent
0256d065d4
commit
f78f36cdb7
1 changed files with 1 additions and 0 deletions
|
@ -502,6 +502,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
|
||||||
}
|
}
|
||||||
|
|
||||||
mir::Rvalue::NullaryOp(mir::NullOp::SizeOf, ty) => {
|
mir::Rvalue::NullaryOp(mir::NullOp::SizeOf, ty) => {
|
||||||
|
let ty = self.monomorphize(&ty);
|
||||||
assert!(bx.cx().type_is_sized(ty));
|
assert!(bx.cx().type_is_sized(ty));
|
||||||
let val = bx.cx().const_usize(bx.cx().layout_of(ty).size.bytes());
|
let val = bx.cx().const_usize(bx.cx().layout_of(ty).size.bytes());
|
||||||
let tcx = self.cx.tcx();
|
let tcx = self.cx.tcx();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue