Skip to content

Commit 8f974ec

Browse files
committed
Return fallback size and align when static layout is error.
1 parent d632811 commit 8f974ec

File tree

1 file changed

+6
-3
lines changed
  • compiler/rustc_middle/src/mir/interpret

1 file changed

+6
-3
lines changed

compiler/rustc_middle/src/mir/interpret/mod.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,12 @@ impl<'tcx> GlobalAlloc<'tcx> {
384384
.type_of(def_id)
385385
.no_bound_vars()
386386
.expect("statics should not have generic parameters");
387-
let layout = tcx.layout_of(typing_env.as_query_input(ty)).unwrap();
388-
assert!(layout.is_sized());
389-
(layout.size, layout.align.abi)
387+
if let Ok(layout) = tcx.layout_of(typing_env.as_query_input(ty)) {
388+
assert!(layout.is_sized());
389+
(layout.size, layout.align.abi)
390+
} else {
391+
(Size::ZERO, Align::ONE)
392+
}
390393
}
391394
}
392395
GlobalAlloc::Memory(alloc) => {

0 commit comments

Comments
 (0)