Rollup merge of #72836 - poliorcetics:std-time-os-specificities, r=shepmaster
Complete the std::time documentation to warn about the inconsistencies between OS Fixes #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.
This commit is contained in:
commit
e1549786ff
|
@ -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()`:
|
||||
///
|
||||
|
|
Loading…
Reference in New Issue