diff options
| author | Jules Bertholet <julesbertholet@quoi.xyz> | 2023-04-26 19:46:10 -0400 |
|---|---|---|
| committer | Jules Bertholet <julesbertholet@quoi.xyz> | 2023-04-26 19:46:10 -0400 |
| commit | 5b6e747f37bd75c611674781b7035b2e47bb2d4c (patch) | |
| tree | cb78844383063496a80e13e0670721a46a5e32d5 | |
| parent | 1c42cb4ef0544fbfaa500216e53382d6b079c001 (diff) | |
Nicer ICE for #67981
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/mod.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/mod.rs b/compiler/rustc_codegen_ssa/src/mir/mod.rs index e4f04b83d58..6bade5714be 100644 --- a/compiler/rustc_codegen_ssa/src/mir/mod.rs +++ b/compiler/rustc_codegen_ssa/src/mir/mod.rs @@ -304,7 +304,17 @@ fn arg_local_refs<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>( bug!("spread argument isn't a tuple?!"); }; - let place = PlaceRef::alloca(bx, bx.layout_of(arg_ty)); + let layout = bx.layout_of(arg_ty); + + // FIXME: support unsized params in "rust-call" ABI + if layout.is_unsized() { + span_bug!( + arg_decl.source_info.span, + "\"rust-call\" ABI does not support unsized params", + ); + } + + let place = PlaceRef::alloca(bx, layout); for i in 0..tupled_arg_tys.len() { let arg = &fx.fn_abi.args[idx]; idx += 1; |
