diff options
| author | Pazzaz <pazzaz.sundqvist@gmail.com> | 2018-06-16 20:19:19 +0200 |
|---|---|---|
| committer | Pazzaz <pazzaz.sundqvist@gmail.com> | 2018-06-16 20:56:17 +0200 |
| commit | d22ad76ca83acda1428829173451eee0221f685a (patch) | |
| tree | 5180e42bd753dbcbe9583e7f7b95ced01b51cd91 /src/libcore/tests | |
| parent | 253205658edc477a0b429f3ce25a92099dc7ddc4 (diff) | |
| download | rust-d22ad76ca83acda1428829173451eee0221f685a.tar.gz rust-d22ad76ca83acda1428829173451eee0221f685a.zip | |
Optimize sum of Durations by using custom function
Diffstat (limited to 'src/libcore/tests')
| -rw-r--r-- | src/libcore/tests/time.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libcore/tests/time.rs b/src/libcore/tests/time.rs index df139965753..466f28f0ef0 100644 --- a/src/libcore/tests/time.rs +++ b/src/libcore/tests/time.rs @@ -162,6 +162,20 @@ fn checked_div() { } #[test] +fn correct_sum() { + let durations = [ + Duration::new(1, 999_999_999), + Duration::new(2, 999_999_999), + Duration::new(0, 999_999_999), + Duration::new(0, 999_999_999), + Duration::new(0, 999_999_999), + Duration::new(5, 0), + ]; + let sum = durations.iter().sum::<Duration>(); + assert_eq!(sum, Duration::new(1+2+5+4, 1_000_000_000 - 5)); +} + +#[test] fn debug_formatting_extreme_values() { assert_eq!( format!("{:?}", Duration::new(18_446_744_073_709_551_615, 123_456_789)), |
