about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-25 11:56:33 +0200
committerOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-25 11:56:33 +0200
commit50d3783b95aaedd12ba4b2ad07fd2e6958b8bbfe (patch)
tree97160e24f57a73a352b7f254b2174a2eb7c29d92 /src
parenteceeb63d11b9ed0d3171dffbc19b23d8133db74c (diff)
downloadrust-50d3783b95aaedd12ba4b2ad07fd2e6958b8bbfe.tar.gz
rust-50d3783b95aaedd12ba4b2ad07fd2e6958b8bbfe.zip
Sanity abort `to_bits` if used on zsts
Diffstat (limited to 'src')
-rw-r--r--src/librustc/mir/interpret/value.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc/mir/interpret/value.rs b/src/librustc/mir/interpret/value.rs
index 62536c45eb3..9e3d4e60603 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),