@@ -140,7 +140,8 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
140
140
return Ok ( ( PrimVal :: from_bool ( op ( & l, & r) ) , false ) ) ;
141
141
}
142
142
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 ) ,
144
145
Div => Some ( i128:: overflowing_div) ,
145
146
Rem => Some ( i128:: overflowing_rem) ,
146
147
Add => Some ( i128:: overflowing_add) ,
@@ -221,7 +222,8 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
221
222
Add => u128:: overflowing_add,
222
223
Sub => u128:: overflowing_sub,
223
224
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 ) ,
225
227
Div => u128:: overflowing_div,
226
228
Rem => u128:: overflowing_rem,
227
229
_ => bug ! ( ) ,
0 commit comments