diff options
| -rw-r--r-- | src/date.rs | 2 | ||||
| -rw-r--r-- | src/value.rs | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/date.rs b/src/date.rs index f83b1af..ba7978f 100644 --- a/src/date.rs +++ b/src/date.rs @@ -6,7 +6,7 @@ use std::time::{Duration, SystemTime, UNIX_EPOCH}; use Error; /// A UTC timestamp. Used for serialization to and from the plist date type. -#[derive(Clone, PartialEq)] +#[derive(Clone, Copy, Hash, PartialEq)] pub struct Date { inner: SystemTime, } diff --git a/src/value.rs b/src/value.rs index d27baba..237ecdf 100644 --- a/src/value.rs +++ b/src/value.rs @@ -141,9 +141,9 @@ impl Value { /// If the `Value` is a Date, returns the associated `Date`. /// /// Returns `None` otherwise. - pub fn as_date(&self) -> Option<&Date> { + pub fn as_date(&self) -> Option<Date> { match *self { - Value::Date(ref date) => Some(date), + Value::Date(date) => Some(date), _ => None, } } @@ -224,7 +224,7 @@ impl From<Date> for Value { impl<'a> From<&'a Date> for Value { fn from(from: &'a Date) -> Value { - Value::Date(from.clone()) + Value::Date(*from) } } @@ -471,7 +471,7 @@ mod tests { ); let date: Date = SystemTime::now().into(); - assert_eq!(Value::Date(date.clone()).as_date(), Some(&date)); + assert_eq!(Value::Date(date.clone()).as_date(), Some(date)); assert_eq!(Value::Real(0.0).as_real(), Some(0.0)); assert_eq!(Value::Integer(1).as_integer(), Some(1)); |
