@@ -98,7 +98,7 @@ fn op_to_const<'tcx>(
98
98
Ok ( mplace) => {
99
99
let ptr = mplace. ptr . to_ptr ( ) . unwrap ( ) ;
100
100
let alloc = ecx. tcx . alloc_map . lock ( ) . unwrap_memory ( ptr. alloc_id ) ;
101
- ConstValue :: ByRef { offset : ptr. offset , align : mplace . align , alloc }
101
+ ConstValue :: ByRef { alloc , offset : ptr. offset }
102
102
} ,
103
103
// see comment on `let try_as_immediate` above
104
104
Err ( ImmTy { imm : Immediate :: Scalar ( x) , .. } ) => match x {
@@ -112,7 +112,7 @@ fn op_to_const<'tcx>(
112
112
let mplace = op. assert_mem_place ( ) ;
113
113
let ptr = mplace. ptr . to_ptr ( ) . unwrap ( ) ;
114
114
let alloc = ecx. tcx . alloc_map . lock ( ) . unwrap_memory ( ptr. alloc_id ) ;
115
- ConstValue :: ByRef { offset : ptr. offset , align : mplace . align , alloc }
115
+ ConstValue :: ByRef { alloc , offset : ptr. offset }
116
116
} ,
117
117
} ,
118
118
Err ( ImmTy { imm : Immediate :: ScalarPair ( a, b) , .. } ) => {
@@ -326,6 +326,10 @@ impl<'mir, 'tcx> interpret::Machine<'mir, 'tcx> for CompileTimeInterpreter<'mir,
326
326
327
327
const STATIC_KIND : Option < !> = None ; // no copying of statics allowed
328
328
329
+ // We do not check for alignment to avoid having to carry an `Align`
330
+ // in `ConstValue::ByRef`.
331
+ const CHECK_ALIGN : bool = false ;
332
+
329
333
#[ inline( always) ]
330
334
fn enforce_validity ( _ecx : & InterpCx < ' mir , ' tcx , Self > ) -> bool {
331
335
false // for now, we don't enforce validity
@@ -561,9 +565,8 @@ fn validate_and_turn_into_const<'tcx>(
561
565
let ptr = mplace. ptr . to_ptr ( ) ?;
562
566
Ok ( tcx. mk_const ( ty:: Const {
563
567
val : ConstValue :: ByRef {
564
- offset : ptr. offset ,
565
- align : mplace. align ,
566
568
alloc : ecx. tcx . alloc_map . lock ( ) . unwrap_memory ( ptr. alloc_id ) ,
569
+ offset : ptr. offset ,
567
570
} ,
568
571
ty : mplace. layout . ty ,
569
572
} ) )
0 commit comments