diff options
| author | b-naber <bn263@gmx.de> | 2022-06-04 11:24:29 +0200 |
|---|---|---|
| committer | b-naber <bn263@gmx.de> | 2022-06-14 16:11:36 +0200 |
| commit | 8093db6e2b51bd9036ea2f76ad4342da0ca03bea (patch) | |
| tree | 6b333f07cc640c902fdb4ab2cf8158cae5f76ce1 /compiler/rustc_const_eval/src | |
| parent | 90c4b947aafb087091c5b30f40f133abbd5aa31a (diff) | |
| download | rust-8093db6e2b51bd9036ea2f76ad4342da0ca03bea.tar.gz rust-8093db6e2b51bd9036ea2f76ad4342da0ca03bea.zip | |
correctly create Scalar for meta info
Diffstat (limited to 'compiler/rustc_const_eval/src')
| -rw-r--r-- | compiler/rustc_const_eval/src/const_eval/valtrees.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/rustc_const_eval/src/const_eval/valtrees.rs b/compiler/rustc_const_eval/src/const_eval/valtrees.rs index 4137e351344..4849a07e3b4 100644 --- a/compiler/rustc_const_eval/src/const_eval/valtrees.rs +++ b/compiler/rustc_const_eval/src/const_eval/valtrees.rs @@ -240,7 +240,7 @@ fn create_pointee_place<'tcx>( let place = MPlaceTy::from_aligned_ptr_with_meta( ptr.into(), layout, - MemPlaceMeta::Meta(Scalar::from_u64(num_elems as u64)), + MemPlaceMeta::Meta(Scalar::from_machine_usize(num_elems as u64, &tcx)), ); debug!(?place); @@ -370,7 +370,8 @@ fn valtree_into_mplace<'tcx>( let imm = match inner_ty.kind() { ty::Slice(_) | ty::Str => { let len = valtree.unwrap_branch().len(); - let len_scalar = ScalarMaybeUninit::Scalar(Scalar::from_u64(len as u64)); + let len_scalar = + ScalarMaybeUninit::Scalar(Scalar::from_machine_usize(len as u64, &tcx)); Immediate::ScalarPair( ScalarMaybeUninit::from_maybe_pointer((*pointee_place).ptr, &tcx), @@ -441,7 +442,10 @@ fn valtree_into_mplace<'tcx>( place .offset( offset, - MemPlaceMeta::Meta(Scalar::from_u64(num_elems as u64)), + MemPlaceMeta::Meta(Scalar::from_machine_usize( + num_elems as u64, + &tcx, + )), inner_layout, &tcx, ) |
