diff options
| author | bors <bors@rust-lang.org> | 2023-09-18 19:41:21 +0000 | 
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-09-18 19:41:21 +0000 | 
| commit | cebb9cfd4f0052fbb5e98f9b6f3a61dae8fd96a7 (patch) | |
| tree | 8cab476d937833d4744831c22fd1d5493e857455 /compiler/rustc_codegen_ssa/src/mir/operand.rs | |
| parent | b1575cb72ef40459666f802af8636faf8428e3eb (diff) | |
| parent | 9ac8b363e3227fdc08634ce445b7787aa0fa6bba (diff) | |
| download | rust-cebb9cfd4f0052fbb5e98f9b6f3a61dae8fd96a7.tar.gz rust-cebb9cfd4f0052fbb5e98f9b6f3a61dae8fd96a7.zip | |
Auto merge of #115748 - RalfJung:post-mono, r=oli-obk
move required_consts check to general post-mono-check function This factors some code that is common between the interpreter and the codegen backends into shared helper functions. Also as a side-effect the interpreter now uses the same `eval` functions as everyone else to get the evaluated MIR constants. Also this is in preparation for another post-mono check that will be needed for (the current hackfix for) https://github.com/rust-lang/rust/issues/115709: ensuring that all locals are dynamically sized. I didn't expect this to change diagnostics, but it's just cycle errors that change. r? `@oli-obk`
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/mir/operand.rs')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/operand.rs | 7 | 
1 files changed, 1 insertions, 6 deletions
| diff --git a/compiler/rustc_codegen_ssa/src/mir/operand.rs b/compiler/rustc_codegen_ssa/src/mir/operand.rs index 1926bb8df52..e192d16ff38 100644 --- a/compiler/rustc_codegen_ssa/src/mir/operand.rs +++ b/compiler/rustc_codegen_ssa/src/mir/operand.rs @@ -575,12 +575,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { self.codegen_consume(bx, place.as_ref()) } - mir::Operand::Constant(ref constant) => { - // This cannot fail because we checked all required_consts in advance. - self.eval_mir_constant_to_operand(bx, constant).unwrap_or_else(|_err| { - span_bug!(constant.span, "erroneous constant not captured by required_consts") - }) - } + mir::Operand::Constant(ref constant) => self.eval_mir_constant_to_operand(bx, constant), } } } | 
