# must fail: timed_OS_clock_saturates # the deadline wraps past the end of u64 (session::FetchSession::tick) diff --git a/wai/wai-rs/src/http_binding/session.rs b/wai/wai-rs/src/http_binding/session.rs index ec31518e..d5f96691 100644 --- a/wai/wai-rs/src/http_binding/session.rs +++ b/wai/wai-rs/src/http_binding/session.rs @@ -398,7 +398,7 @@ impl FetchSession { pub fn tick(&mut self, now_ms: u64) -> Vec { self.now_ms = now_ms; let (Some(at), Some(d)) = (self.base_ready_at(), self.policy.refinement_deadline_ms) else { return Vec::new() }; - if self.result.is_some() || now_ms < at.saturating_add(u64::from(d)) { + if self.result.is_some() || now_ms < at.wrapping_add(u64::from(d)) { return Vec::new(); } let ids = self.outstanding_of(Class::Refinement);