match local.state {
LocalState::Live(_) => {
// This needs to be properly initialized.
- let layout = self.layout_of(mir.local_decls[idx].ty)?;
+ let ty = self.monomorphize(mir.local_decls[idx].ty)?;
+ let layout = self.layout_of(ty)?;
local.state = LocalState::Live(self.uninit_operand(layout)?);
local.layout = Cell::new(Some(layout));
}
// their layout on return.
PlaceTy {
place: *return_place,
- layout: self.layout_of(self.frame().mir.return_ty())?,
+ layout: self.layout_of(self.monomorphize(self.frame().mir.return_ty())?)?,
},
None => return err!(InvalidNullPointerUsage),
},