From 53050237fcd8815955cf048c827e6fabe349949f Mon Sep 17 00:00:00 2001 From: Constantin Nickel Date: Tue, 5 Apr 2022 11:38:03 +0200 Subject: [PATCH] Move the `datetime::serde` timestamp visitors into the respective modules The internal structs can be moved into their respective modules because `pub(super)` is now supported by the MSRV. --- src/datetime/serde.rs | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/datetime/serde.rs b/src/datetime/serde.rs index 5371edb797..6a662b2189 100644 --- a/src/datetime/serde.rs +++ b/src/datetime/serde.rs @@ -9,22 +9,6 @@ use crate::naive::datetime::serde::serde_from; use crate::offset::Local; use crate::offset::{FixedOffset, TimeZone, Utc}; -#[doc(hidden)] -#[derive(Debug)] -pub struct SecondsTimestampVisitor; - -#[doc(hidden)] -#[derive(Debug)] -pub struct NanoSecondsTimestampVisitor; - -#[doc(hidden)] -#[derive(Debug)] -pub struct MicroSecondsTimestampVisitor; - -#[doc(hidden)] -#[derive(Debug)] -pub struct MilliSecondsTimestampVisitor; - /// Serialize into a rfc3339 time string /// /// See [the `serde` module](./serde/index.html) for alternate @@ -149,7 +133,7 @@ pub mod ts_nanoseconds { use crate::offset::TimeZone; use crate::{DateTime, Utc}; - use super::{serde_from, NanoSecondsTimestampVisitor}; + use super::serde_from; /// Serialize a UTC datetime into an integer number of nanoseconds since the epoch /// @@ -207,6 +191,8 @@ pub mod ts_nanoseconds { d.deserialize_i64(NanoSecondsTimestampVisitor) } + pub(super) struct NanoSecondsTimestampVisitor; + impl<'de> de::Visitor<'de> for NanoSecondsTimestampVisitor { type Value = DateTime; @@ -271,7 +257,7 @@ pub mod ts_nanoseconds_option { use crate::{DateTime, Utc}; - use super::NanoSecondsTimestampVisitor; + use super::ts_nanoseconds::NanoSecondsTimestampVisitor; /// Serialize a UTC datetime into an integer number of nanoseconds since the epoch or none /// @@ -398,7 +384,7 @@ pub mod ts_microseconds { use core::fmt; use serde::{de, ser}; - use super::{serde_from, MicroSecondsTimestampVisitor}; + use super::serde_from; use crate::offset::TimeZone; use crate::{DateTime, Utc}; @@ -458,6 +444,8 @@ pub mod ts_microseconds { d.deserialize_i64(MicroSecondsTimestampVisitor) } + pub(super) struct MicroSecondsTimestampVisitor; + impl<'de> de::Visitor<'de> for MicroSecondsTimestampVisitor { type Value = DateTime; @@ -520,7 +508,7 @@ pub mod ts_microseconds_option { use core::fmt; use serde::{de, ser}; - use super::MicroSecondsTimestampVisitor; + use super::ts_microseconds::MicroSecondsTimestampVisitor; use crate::{DateTime, Utc}; /// Serialize a UTC datetime into an integer number of microseconds since the epoch or none @@ -648,7 +636,7 @@ pub mod ts_milliseconds { use core::fmt; use serde::{de, ser}; - use super::{serde_from, MilliSecondsTimestampVisitor}; + use super::serde_from; use crate::offset::TimeZone; use crate::{DateTime, Utc}; @@ -708,6 +696,8 @@ pub mod ts_milliseconds { d.deserialize_i64(MilliSecondsTimestampVisitor).map(|dt| dt.with_timezone(&Utc)) } + pub(super) struct MilliSecondsTimestampVisitor; + impl<'de> de::Visitor<'de> for MilliSecondsTimestampVisitor { type Value = DateTime; @@ -767,7 +757,7 @@ pub mod ts_milliseconds_option { use core::fmt; use serde::{de, ser}; - use super::MilliSecondsTimestampVisitor; + use super::ts_milliseconds::MilliSecondsTimestampVisitor; use crate::{DateTime, Utc}; /// Serialize a UTC datetime into an integer number of milliseconds since the epoch or none @@ -908,7 +898,7 @@ pub mod ts_seconds { use core::fmt; use serde::{de, ser}; - use super::{serde_from, SecondsTimestampVisitor}; + use super::serde_from; use crate::offset::TimeZone; use crate::{DateTime, Utc}; @@ -968,6 +958,8 @@ pub mod ts_seconds { d.deserialize_i64(SecondsTimestampVisitor) } + pub(super) struct SecondsTimestampVisitor; + impl<'de> de::Visitor<'de> for SecondsTimestampVisitor { type Value = DateTime; @@ -1024,7 +1016,7 @@ pub mod ts_seconds_option { use core::fmt; use serde::{de, ser}; - use super::SecondsTimestampVisitor; + use super::ts_seconds::SecondsTimestampVisitor; use crate::{DateTime, Utc}; /// Serialize a UTC datetime into an integer number of seconds since the epoch or none