diff options
| author | Tshepang Mbambo <hopsi@tuta.io> | 2025-08-25 11:29:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-25 11:29:25 +0200 |
| commit | d1d1fb3bb1ff6c8ea38293c4362aa4716d13eafa (patch) | |
| tree | b92935283dc39332d14862c9227eda4b865a507b /compiler/rustc_const_eval/src/interpret/stack.rs | |
| parent | 06608bafbc4a85ca4ba3008b9b18b34e320e6eba (diff) | |
| parent | 721337b92a2ea898a21ea01e420d80e2e33213d2 (diff) | |
Merge pull request #2551 from rust-lang/rustc-pull
Rustc pull update
Diffstat (limited to 'compiler/rustc_const_eval/src/interpret/stack.rs')
| -rw-r--r-- | compiler/rustc_const_eval/src/interpret/stack.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/stack.rs b/compiler/rustc_const_eval/src/interpret/stack.rs index 73cc87508ef..7cabfd96121 100644 --- a/compiler/rustc_const_eval/src/interpret/stack.rs +++ b/compiler/rustc_const_eval/src/interpret/stack.rs @@ -20,7 +20,7 @@ use super::{ MemoryKind, Operand, PlaceTy, Pointer, Provenance, ReturnAction, Scalar, from_known_layout, interp_ok, throw_ub, throw_unsup, }; -use crate::errors; +use crate::{enter_trace_span, errors}; // The Phantomdata exists to prevent this type from being `Send`. If it were sent across a thread // boundary and dropped in the other thread, it would exit the span in the other thread. @@ -386,6 +386,9 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> { // Make sure all the constants required by this frame evaluate successfully (post-monomorphization check). for &const_ in body.required_consts() { + // We can't use `eval_mir_constant` here as that assumes that all required consts have + // already been checked, so we need a separate tracing call. + let _trace = enter_trace_span!(M, const_eval::required_consts, ?const_.const_); let c = self.instantiate_from_current_frame_and_normalize_erasing_regions(const_.const_)?; c.eval(*self.tcx, self.typing_env, const_.span).map_err(|err| { |
