Skip to content

Commit ac7c908

Browse files
committed
Don't use <Duration as Display>::display() in time passes
1 parent dd4dad8 commit ac7c908

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/librustc/util/common.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,22 @@ pub fn time<T, U, F>(do_it: bool, what: &str, u: U, f: F) -> T where
4444
r
4545
});
4646

47-
let mut u = Some(u);
4847
let mut rv = None;
4948
let dur = {
5049
let ref mut rvp = rv;
5150

5251
Duration::span(move || {
53-
*rvp = Some(f(u.take().unwrap()))
52+
*rvp = Some(f(u))
5453
})
5554
};
5655
let rv = rv.unwrap();
5756

58-
println!("{}time: {} \t{}", repeat(" ").take(old).collect::<String>(),
59-
dur, what);
57+
const NANOS_PER_SEC: f64 = 1_000_000_000.0;
58+
let secs = dur.secs() as f64;
59+
let secs = secs + dur.extra_nanos() as f64 / NANOS_PER_SEC;
60+
61+
println!("{}time: {:.3} \t{}", repeat(" ").take(old).collect::<String>(),
62+
secs, what);
6063
DEPTH.with(|slot| slot.set(old));
6164

6265
rv

0 commit comments

Comments
 (0)