| #![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); | |
| } |