From 40950b2cd18a7a62b14c80d92be60ebf2f6b62a3 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 21 Jul 2017 20:02:44 -0700 Subject: [PATCH] fix nits --- src/librustc_mir/interpret/cast.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustc_mir/interpret/cast.rs b/src/librustc_mir/interpret/cast.rs index 7db8cb79f5d7..f33fe3ac8896 100644 --- a/src/librustc_mir/interpret/cast.rs +++ b/src/librustc_mir/interpret/cast.rs @@ -77,8 +77,8 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { TyChar if v as u8 as u128 == v => Ok(PrimVal::Bytes(v)), TyChar => Err(EvalError::InvalidChar(v)), - // No alignment check needed for raw pointers - TyRawPtr(_) => Ok(PrimVal::Bytes(v % (1 << (self.memory.pointer_size()*8)))), + // No alignment check needed for raw pointers. But we have to truncate to target ptr size. + TyRawPtr(_) => Ok(PrimVal::Bytes(v % (1u128 << self.memory.layout.pointer_size.bits()))), _ => Err(EvalError::Unimplemented(format!("int to {:?} cast", ty))), }