summaryrefslogtreecommitdiffstats
path: root/vendor/time/src/primitive_date_time.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/time/src/primitive_date_time.rs')
-rw-r--r--vendor/time/src/primitive_date_time.rs23
1 files changed, 21 insertions, 2 deletions
diff --git a/vendor/time/src/primitive_date_time.rs b/vendor/time/src/primitive_date_time.rs
index b985867d1..83a94610f 100644
--- a/vendor/time/src/primitive_date_time.rs
+++ b/vendor/time/src/primitive_date_time.rs
@@ -6,7 +6,9 @@ use core::time::Duration as StdDuration;
#[cfg(feature = "formatting")]
use std::io;
-use crate::date_time::offset_kind;
+use powerfmt::smart_display::{FormatterOptions, Metadata, SmartDisplay};
+
+use crate::date_time::{offset_kind, DateTimeMetadata};
#[cfg(feature = "formatting")]
use crate::formatting::Formattable;
use crate::internal_macros::{const_try, const_try_opt};
@@ -110,6 +112,7 @@ impl PrimitiveDateTime {
/// ```rust
/// # use time_macros::{datetime, time};
/// assert_eq!(datetime!(2019-01-01 0:00).time(), time!(0:00));
+ /// ```
pub const fn time(self) -> Time {
self.0.time()
}
@@ -806,9 +809,25 @@ impl PrimitiveDateTime {
}
}
+impl SmartDisplay for PrimitiveDateTime {
+ type Metadata = DateTimeMetadata;
+
+ fn metadata(&self, f: FormatterOptions) -> Metadata<Self> {
+ self.0.metadata(f).reuse()
+ }
+
+ fn fmt_with_metadata(
+ &self,
+ f: &mut fmt::Formatter<'_>,
+ metadata: Metadata<Self>,
+ ) -> fmt::Result {
+ self.0.fmt_with_metadata(f, metadata.reuse())
+ }
+}
+
impl fmt::Display for PrimitiveDateTime {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- self.0.fmt(f)
+ SmartDisplay::fmt(self, f)
}
}