1
Fork 0

Adding examples to docs of std::time module

And adding missing link to Duration from Instant
This commit is contained in:
João M. Bezerra 2021-08-29 15:58:20 -03:00
parent daa4dc997c
commit faf59853f9
2 changed files with 37 additions and 11 deletions

View file

@ -2,14 +2,21 @@
//! Temporal quantification. //! Temporal quantification.
//! //!
//! Example: //! # Examples:
//!
//! There are multiple ways to create a new [`Duration`]:
//! //!
//! ``` //! ```
//! use std::time::Duration; //! # use std::time::Duration;
//! let five_seconds = Duration::from_secs(5);
//! assert_eq!(five_seconds, Duration::from_millis(5_000));
//! assert_eq!(five_seconds, Duration::from_micros(5_000_000));
//! assert_eq!(five_seconds, Duration::from_nanos(5_000_000_000));
//! //!
//! let five_seconds = Duration::new(5, 0); //! let ten_seconds = Duration::from_secs(10);
//! // both declarations are equivalent //! let seven_nanos = Duration::from_nanos(7);
//! assert_eq!(Duration::new(5, 0), Duration::from_secs(5)); //! let total = ten_seconds + seven_nanos;
//! assert_eq!(total, Duration::new(10, 7));
//! ``` //! ```
use crate::fmt; use crate::fmt;

View file

@ -1,13 +1,32 @@
//! Temporal quantification. //! Temporal quantification.
//! //!
//! Example: //! # Examples:
//!
//! There are multiple ways to create a new [`Duration`]:
//! //!
//! ``` //! ```
//! use std::time::Duration; //! # use std::time::Duration;
//! let five_seconds = Duration::from_secs(5);
//! assert_eq!(five_seconds, Duration::from_millis(5_000));
//! assert_eq!(five_seconds, Duration::from_micros(5_000_000));
//! assert_eq!(five_seconds, Duration::from_nanos(5_000_000_000));
//! //!
//! let five_seconds = Duration::new(5, 0); //! let ten_seconds = Duration::from_secs(10);
//! // both declarations are equivalent //! let seven_nanos = Duration::from_nanos(7);
//! assert_eq!(Duration::new(5, 0), Duration::from_secs(5)); //! let total = ten_seconds + seven_nanos;
//! assert_eq!(total, Duration::new(10, 7));
//! ```
//!
//! Using [`Instant`] to calculate how long a function took to run:
//!
//! ```ignore (incomplete)
//! let now = Instant::now();
//!
//! // Calling a slow function, it may take a while
//! slow_function();
//!
//! let elapsed_time = now.elapsed();
//! println!("Running slow_function() took {} seconds.", elapsed_time.as_secs());
//! ``` //! ```
#![stable(feature = "time", since = "1.3.0")] #![stable(feature = "time", since = "1.3.0")]
@ -26,7 +45,7 @@ use crate::sys_common::FromInner;
pub use core::time::Duration; pub use core::time::Duration;
/// A measurement of a monotonically nondecreasing clock. /// A measurement of a monotonically nondecreasing clock.
/// Opaque and useful only with `Duration`. /// Opaque and useful only with [`Duration`].
/// ///
/// Instants are always guaranteed to be no less than any previously measured /// Instants are always guaranteed to be no less than any previously measured
/// instant when created, and are often useful for tasks such as measuring /// instant when created, and are often useful for tasks such as measuring