diff options
| author | Guillaume Boisseau <Nadrieril@users.noreply.github.com> | 2024-02-07 18:24:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-07 18:24:42 +0100 |
| commit | 62c2628ebad68a83cff4198d4deb8d8400a2f04e (patch) | |
| tree | 4003fe4bcfe8638a2b4d24ed52161ee81c781761 /compiler/rustc_const_eval/src/const_eval | |
| parent | 7954c28cf932c00cd331598f189145861bf42b7c (diff) | |
| parent | c94769a9748233559313c532d524f58ebb643b1d (diff) | |
| download | rust-62c2628ebad68a83cff4198d4deb8d8400a2f04e.tar.gz rust-62c2628ebad68a83cff4198d4deb8d8400a2f04e.zip | |
Rollup merge of #120302 - oli-obk:const_intern_cleanups, r=RalfJung
various const interning cleanups After #119044 I noticed that some things can be simplified and refactored. This is also a requirement for https://github.com/rust-lang/rust/pull/116564 as there we'll need to treat the base allocation differently from the others r? ````@RalfJung````
Diffstat (limited to 'compiler/rustc_const_eval/src/const_eval')
| -rw-r--r-- | compiler/rustc_const_eval/src/const_eval/eval_queries.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_const_eval/src/const_eval/eval_queries.rs b/compiler/rustc_const_eval/src/const_eval/eval_queries.rs index 6a92ed9717d..a2d0f1c5583 100644 --- a/compiler/rustc_const_eval/src/const_eval/eval_queries.rs +++ b/compiler/rustc_const_eval/src/const_eval/eval_queries.rs @@ -1,5 +1,3 @@ -use std::mem; - use either::{Left, Right}; use rustc_hir::def::DefKind; @@ -24,12 +22,13 @@ use crate::interpret::{ }; // Returns a pointer to where the result lives +#[instrument(level = "trace", skip(ecx, body), ret)] fn eval_body_using_ecx<'mir, 'tcx>( ecx: &mut CompileTimeEvalContext<'mir, 'tcx>, cid: GlobalId<'tcx>, body: &'mir mir::Body<'tcx>, ) -> InterpResult<'tcx, MPlaceTy<'tcx>> { - debug!("eval_body_using_ecx: {:?}, {:?}", cid, ecx.param_env); + trace!(?ecx.param_env); let tcx = *ecx.tcx; assert!( cid.promoted.is_some() @@ -75,11 +74,8 @@ fn eval_body_using_ecx<'mir, 'tcx>( None => InternKind::Constant, } }; - let check_alignment = mem::replace(&mut ecx.machine.check_alignment, CheckAlignment::No); // interning doesn't need to respect alignment intern_const_alloc_recursive(ecx, intern_kind, &ret)?; - ecx.machine.check_alignment = check_alignment; - debug!("eval_body_using_ecx done: {:?}", ret); Ok(ret) } |
