From f927014c8a147208cbeb373c714d2748c33ae7b9 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Wed, 30 May 2018 14:29:54 +0200 Subject: [PATCH] Comparing Scalar's with differend `defined` values is false --- src/intrinsic.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intrinsic.rs b/src/intrinsic.rs index 3d537ea629c..1e8090dc189 100644 --- a/src/intrinsic.rs +++ b/src/intrinsic.rs @@ -327,7 +327,7 @@ impl<'a, 'mir, 'tcx> EvalContextExt<'tcx> for EvalContext<'a, 'mir, 'tcx, super: let a = self.value_to_scalar(args[0])?; let b = self.value_to_scalar(args[1])?; // check x % y != 0 - if self.binary_op(mir::BinOp::Rem, a, ty, b, ty)?.0 != Scalar::null() { + if !self.binary_op(mir::BinOp::Rem, a, ty, b, ty)?.0.is_null()? { return err!(ValidationFailure(format!("exact_div: {:?} cannot be divided by {:?}", a, b))); } let result = self.binary_op(mir::BinOp::Div, a, ty, b, ty)?;