diff options
| author | bors <bors@rust-lang.org> | 2014-11-13 23:37:21 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-11-13 23:37:21 +0000 |
| commit | b1c84d6be803dd2ea8a68b82fea60c45dde773f1 (patch) | |
| tree | 2e1686ee137434a608595856b7850a4357a5b85f /src/libstd | |
| parent | 15ba87f0314fda5e81603f37ae5f40e2022bcfc1 (diff) | |
| parent | 877139495d4c572493f2440cff038283a3ba4e5e (diff) | |
| download | rust-b1c84d6be803dd2ea8a68b82fea60c45dde773f1.tar.gz rust-b1c84d6be803dd2ea8a68b82fea60c45dde773f1.zip | |
auto merge of #18926 : alexcrichton/rust/issue-18925, r=huonw
The subtraction was erroneously backwards, returning negative durations! Closes #18925
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/time/duration.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libstd/time/duration.rs b/src/libstd/time/duration.rs index c2d4afeb9ad..8892884045a 100644 --- a/src/libstd/time/duration.rs +++ b/src/libstd/time/duration.rs @@ -140,7 +140,7 @@ impl Duration { pub fn span(f: ||) -> Duration { let before = super::precise_time_ns(); f(); - Duration::nanoseconds((before - super::precise_time_ns()) as i64) + Duration::nanoseconds((super::precise_time_ns() - before) as i64) } /// Returns the total number of whole weeks in the duration. @@ -565,4 +565,11 @@ mod tests { assert_eq!(format!("{:30}", Duration::days(1) + Duration::milliseconds(2345)), "P1DT2.345S".to_string()); } + + #[test] + fn span() { + use io::timer::sleep; + let dur = Duration::span(|| sleep(Duration::milliseconds(5))); + assert!(dur > Duration::milliseconds(1)); + } } |
