diff --git a/src/librustc/middle/effect.rs b/src/librustc/middle/effect.rs index a2e42245bbef..3fe1e2f5e836 100644 --- a/src/librustc/middle/effect.rs +++ b/src/librustc/middle/effect.rs @@ -124,11 +124,11 @@ impl<'a, 'tcx, 'v> Visitor<'v> for EffectCheckVisitor<'a, 'tcx> { } ast::PushUnsafeBlock(..) => { self.unsafe_context.push_unsafe_count = - self.unsafe_context.push_unsafe_count.saturating_add(1); + self.unsafe_context.push_unsafe_count.checked_add(1).unwrap(); } ast::PopUnsafeBlock(..) => { self.unsafe_context.push_unsafe_count = - self.unsafe_context.push_unsafe_count.saturating_sub(1); + self.unsafe_context.push_unsafe_count.checked_sub(1).unwrap(); } } diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 76ba89caaa07..a047092d147e 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -251,9 +251,9 @@ impl UnsafetyState { unsafety => { let (unsafety, def, count) = match blk.rules { ast::PushUnsafeBlock(..) => - (unsafety, blk.id, self.unsafe_push_count.saturating_add(1)), + (unsafety, blk.id, self.unsafe_push_count.checked_add(1).unwrap()), ast::PopUnsafeBlock(..) => - (unsafety, blk.id, self.unsafe_push_count.saturating_sub(1)), + (unsafety, blk.id, self.unsafe_push_count.checked_sub(1).unwrap()), ast::UnsafeBlock(..) => (ast::Unsafety::Unsafe, blk.id, self.unsafe_push_count), ast::DefaultBlock =>