Skip to content

Commit

Permalink
Rollup merge of rust-lang#72836 - poliorcetics:std-time-os-specificit…
Browse files Browse the repository at this point in the history
…ies, r=shepmaster

Complete the std::time documentation to warn about the inconsistencies between OS

Fixes rust-lang#48980.

I put the new documentation in `src/libstd/time.rs` at the module-level because it affects all types, even the one that are not directly system dependents if they are used with affected types, but there may be a better place for it.
  • Loading branch information
RalfJung authored Jun 18, 2020
2 parents 594f58e + 9e51008 commit 1a763ea
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/libstd/time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,21 @@ pub use core::time::Duration;
/// }
/// ```
///
/// # OS-specific behaviors
///
/// An `Instant` is a wrapper around system-specific types and it may behave
/// differently depending on the underlying operating system. For example,
/// the following snippet is fine on Linux but panics on macOS:
///
/// ```no_run
/// use std::time::{Instant, Duration};
///
/// let now = Instant::now();
/// let max_nanoseconds = u64::MAX / 1_000_000_000;
/// let duration = Duration::new(max_nanoseconds, 0);
/// println!("{:?}", now + duration);
/// ```
///
/// # Underlying System calls
/// Currently, the following system calls are being used to get the current time using `now()`:
///
Expand Down

0 comments on commit 1a763ea

Please sign in to comment.