From 50d3783b95aaedd12ba4b2ad07fd2e6958b8bbfe Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Fri, 25 May 2018 11:56:33 +0200 Subject: [PATCH] Sanity abort `to_bits` if used on zsts --- src/librustc/mir/interpret/value.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc/mir/interpret/value.rs b/src/librustc/mir/interpret/value.rs index 62536c45eb31..9e3d4e60603e 100644 --- a/src/librustc/mir/interpret/value.rs +++ b/src/librustc/mir/interpret/value.rs @@ -218,7 +218,7 @@ impl<'tcx> Scalar { pub fn to_bits(self, size: Size) -> EvalResult<'tcx, u128> { match self { - Scalar::Bits { defined: 0, .. } => err!(ReadUndefBytes), + Scalar::Bits { .. } if size.bits() == 0 => bug!("to_bits cannot be used with zsts"), Scalar::Bits { bits, defined } if size.bits() <= defined as u64 => Ok(bits), Scalar::Bits { .. } => err!(ReadUndefBytes), Scalar::Ptr(_) => err!(ReadPointerAsBytes),