diff options
author | Alex Crichton <alex@alexcrichton.com> | 2018-05-09 16:48:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-09 16:48:58 -0500 |
commit | cb49d599924f2c78a8ea1172cd21f05dc6fbfa93 (patch) | |
tree | 4506e53b64daa801a2b58c9fbba56343f623278c /src/datetime.rs | |
parent | 8a54e5e0b6808a3192ec342b60e36b4325c47f02 (diff) | |
parent | 0a5fe3fff9a11b9684eb41be302606de0770f22d (diff) | |
download | milf-rs-cb49d599924f2c78a8ea1172cd21f05dc6fbfa93.tar.gz milf-rs-cb49d599924f2c78a8ea1172cd21f05dc6fbfa93.zip |
Merge pull request #239 from udoprog/spans
Support spans when deserializing serde structures
Diffstat (limited to 'src/datetime.rs')
-rw-r--r-- | src/datetime.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/datetime.rs b/src/datetime.rs index 83b5c0b..c67e2c4 100644 --- a/src/datetime.rs +++ b/src/datetime.rs @@ -40,8 +40,8 @@ pub struct DatetimeParseError { // // In general the TOML encoder/decoder will catch this and not literally emit // these strings but rather emit datetimes as they're intended. -pub const SERDE_STRUCT_FIELD_NAME: &'static str = "$__toml_private_datetime"; -pub const SERDE_STRUCT_NAME: &'static str = "$__toml_private_Datetime"; +pub const FIELD: &'static str = "$__toml_private_datetime"; +pub const NAME: &'static str = "$__toml_private_Datetime"; #[derive(PartialEq, Clone)] struct Date { @@ -311,8 +311,8 @@ impl ser::Serialize for Datetime { { use serde::ser::SerializeStruct; - let mut s = serializer.serialize_struct(SERDE_STRUCT_NAME, 1)?; - s.serialize_field(SERDE_STRUCT_FIELD_NAME, &self.to_string())?; + let mut s = serializer.serialize_struct(NAME, 1)?; + s.serialize_field(FIELD, &self.to_string())?; s.end() } } @@ -343,10 +343,8 @@ impl<'de> de::Deserialize<'de> for Datetime { } } - static FIELDS: [&'static str; 1] = [SERDE_STRUCT_FIELD_NAME]; - deserializer.deserialize_struct(SERDE_STRUCT_NAME, - &FIELDS, - DatetimeVisitor) + static FIELDS: [&'static str; 1] = [FIELD]; + deserializer.deserialize_struct(NAME, &FIELDS, DatetimeVisitor) } } @@ -368,7 +366,7 @@ impl<'de> de::Deserialize<'de> for DatetimeKey { fn visit_str<E>(self, s: &str) -> Result<(), E> where E: de::Error { - if s == SERDE_STRUCT_FIELD_NAME { + if s == FIELD { Ok(()) } else { Err(de::Error::custom("expected field with custom name")) |