/// Sealed trait to prevent downstream implementations. mod sealed { /// A trait that cannot be implemented by downstream users. pubtrait Sealed: Sized {} impl Sealed for std::time::SystemTime {}
}
/// An extension trait for [`std::time::SystemTime`] that adds methods for /// [`time::Duration`](Duration)s. pubtrait SystemTimeExt: sealed::Sealed { /// Adds the given [`Duration`] to the [`SystemTime`], returning `None` is the result cannot be /// represented by the underlying data structure. fn checked_add_signed(&self, duration: Duration) -> Option<Self>;
/// Subtracts the given [`Duration`] from the [`SystemTime`], returning `None` is the result /// cannot be represented by the underlying data structure. fn checked_sub_signed(&self, duration: Duration) -> Option<Self>;
/// Returns the amount of time elapsed from another [`SystemTime`] to this one. This will be /// negative if `earlier` is later than `self.` /// /// If the duration cannot be stored by [`Duration`], the value will be saturated to /// [`Duration::MIN`] or [`Duration::MAX`] as appropriate. /// /// # Example /// /// ```rust /// # use std::time::SystemTime; /// # use time::ext::{NumericalDuration, SystemTimeExt}; /// let epoch = SystemTime::UNIX_EPOCH; /// let other = epoch + 1.seconds(); /// assert_eq!(other.signed_duration_since(epoch), 1.seconds()); /// assert_eq!(epoch.signed_duration_since(other), (-1).seconds()); /// ``` fn signed_duration_since(&self, earlier: Self) -> Duration;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.