about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/time.rs16
-rw-r--r--src/libstd/lib.rs1
-rw-r--r--src/libstd/time.rs3
3 files changed, 20 insertions, 0 deletions
diff --git a/src/libcore/time.rs b/src/libcore/time.rs
index b12ee0497d2..a751965dffa 100644
--- a/src/libcore/time.rs
+++ b/src/libcore/time.rs
@@ -23,6 +23,22 @@ const MILLIS_PER_SEC: u64 = 1_000;
 const MICROS_PER_SEC: u64 = 1_000_000;
 const MAX_NANOS_F64: f64 = ((u64::MAX as u128 + 1)*(NANOS_PER_SEC as u128)) as f64;
 
+/// The duration of one second.
+#[unstable(feature = "duration_constants", issue = "57391")]
+pub const SECOND: Duration = Duration::from_secs(1);
+
+/// The duration of one millisecond.
+#[unstable(feature = "duration_constants", issue = "57391")]
+pub const MILLISECOND: Duration = Duration::from_millis(1);
+
+/// The duration of one microsecond.
+#[unstable(feature = "duration_constants", issue = "57391")]
+pub const MICROSECOND: Duration = Duration::from_micros(1);
+
+/// The duration of one nanosecond.
+#[unstable(feature = "duration_constants", issue = "57391")]
+pub const NANOSECOND: Duration = Duration::from_nanos(1);
+
 /// A `Duration` type to represent a span of time, typically used for system
 /// timeouts.
 ///
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index d42e39f16e6..ccfce672e5f 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -248,6 +248,7 @@
 #![feature(const_cstr_unchecked)]
 #![feature(core_intrinsics)]
 #![feature(dropck_eyepatch)]
+#![feature(duration_constants)]
 #![feature(exact_size_is_empty)]
 #![feature(external_doc)]
 #![feature(fixed_size_array)]
diff --git a/src/libstd/time.rs b/src/libstd/time.rs
index eb67b718dbd..3daad7db2de 100644
--- a/src/libstd/time.rs
+++ b/src/libstd/time.rs
@@ -21,6 +21,9 @@ use sys_common::FromInner;
 #[stable(feature = "time", since = "1.3.0")]
 pub use core::time::Duration;
 
+#[unstable(feature = "duration_constants", issue = "57391")]
+pub use core::time::{SECOND, MILLISECOND, MICROSECOND, NANOSECOND};
+
 /// A measurement of a monotonically nondecreasing clock.
 /// Opaque and useful only with `Duration`.
 ///