| #![warn(clippy::unchecked_time_subtraction)] |
| |
| use std::time::{Duration, Instant}; |
| |
| fn main() { |
| let _first = Instant::now(); |
| let second = Duration::from_secs(3); |
| |
| let _ = _first.checked_sub(second).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| let _ = Instant::now().checked_sub(Duration::from_secs(5)).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| let _ = _first.checked_sub(Duration::from_secs(5)).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| let _ = Instant::now().checked_sub(second).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| // Duration - Duration cases |
| let dur1 = Duration::from_secs(5); |
| let dur2 = Duration::from_secs(3); |
| |
| let _ = dur1.checked_sub(dur2).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| let _ = Duration::from_secs(10) - Duration::from_secs(5); |
| |
| let _ = second.checked_sub(dur1).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| // Duration multiplication and subtraction |
| let _ = (2 * dur1).checked_sub(dur2).unwrap(); |
| //~^ unchecked_time_subtraction |
| } |
| |
| fn issue16230() { |
| use std::ops::Sub as _; |
| |
| Duration::ZERO.checked_sub(Duration::MAX).unwrap(); |
| //~^ unchecked_time_subtraction |
| |
| let _ = Duration::ZERO.checked_sub(Duration::MAX).unwrap(); |
| //~^ unchecked_time_subtraction |
| } |
| |
| fn issue16234() { |
| use std::ops::Sub as _; |
| |
| macro_rules! duration { |
| ($secs:expr) => { |
| Duration::from_secs($secs) |
| }; |
| } |
| |
| let d = duration!(0); |
| d.checked_sub(duration!(1)).unwrap(); |
| //~^ unchecked_time_subtraction |
| let _ = d.checked_sub(duration!(1)).unwrap(); |
| //~^ unchecked_time_subtraction |
| } |
| |
| fn issue16499() { |
| let _ = Duration::from_millis(2) - Duration::from_millis(1); |
| let _ = Duration::new(10000, 0) - Duration::from_secs(1); |
| let _ = Duration::from_nanos_u128(1000) - Duration::from_nanos(100); |
| let _ = Duration::from_secs_f32(1.5) - Duration::from_secs_f64(0.5); |
| let _ = Duration::from_mins(70) - Duration::from_hours(1); |
| } |