@@ -140,7 +140,8 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
140140 return Ok ( ( PrimVal :: from_bool ( op ( & l, & r) ) , false ) ) ;
141141 }
142142 let op: Option < fn ( i128 , i128 ) -> ( i128 , bool ) > = match bin_op {
143- Rem | Div if r == 0 => return Ok ( ( PrimVal :: Bytes ( l) , true ) ) ,
143+ Div if r == 0 => return err ! ( DivisionByZero ) ,
144+ Rem if r == 0 => return err ! ( RemainderByZero ) ,
144145 Div => Some ( i128:: overflowing_div) ,
145146 Rem => Some ( i128:: overflowing_rem) ,
146147 Add => Some ( i128:: overflowing_add) ,
@@ -221,7 +222,8 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
221222 Add => u128:: overflowing_add,
222223 Sub => u128:: overflowing_sub,
223224 Mul => u128:: overflowing_mul,
224- Rem | Div if r == 0 => return Ok ( ( PrimVal :: Bytes ( l) , true ) ) ,
225+ Div if r == 0 => return err ! ( DivisionByZero ) ,
226+ Rem if r == 0 => return err ! ( RemainderByZero ) ,
225227 Div => u128:: overflowing_div,
226228 Rem => u128:: overflowing_rem,
227229 _ => bug ! ( ) ,
0 commit comments