Skip to content

Commit a73b543

Browse files
pitdickerdjc
authored andcommitted
Don't assume rkyv-(16|32|64) implies the rkyv feature
1 parent b5381f8 commit a73b543

File tree

12 files changed

+41
-34
lines changed

12 files changed

+41
-34
lines changed

src/datetime/mod.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use crate::offset::{FixedOffset, Offset, TimeZone, Utc};
3131
use crate::Date;
3232
use crate::{Datelike, Months, Timelike, Weekday};
3333

34-
#[cfg(feature = "rkyv")]
34+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
3535
use rkyv::{Archive, Deserialize, Serialize};
3636

3737
#[cfg(feature = "rustc-serialize")]
@@ -50,8 +50,11 @@ mod tests;
5050
/// the general-purpose constructors are all via the methods on the
5151
/// [`TimeZone`](./offset/trait.TimeZone.html) implementations.
5252
#[derive(Clone)]
53-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
54-
#[cfg_attr(feature = "rkyv", archive(compare(PartialEq, PartialOrd)))]
53+
#[cfg_attr(
54+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
55+
derive(Archive, Deserialize, Serialize),
56+
archive(compare(PartialEq, PartialOrd))
57+
)]
5558
#[cfg_attr(feature = "rkyv-validation", archive(check_bytes))]
5659
pub struct DateTime<Tz: TimeZone> {
5760
datetime: NaiveDateTime,

src/duration.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use core::{fmt, i64};
1616
#[cfg(feature = "std")]
1717
use std::error::Error;
1818

19-
#[cfg(feature = "rkyv")]
19+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
2020
use rkyv::{Archive, Deserialize, Serialize};
2121

2222
/// The number of nanoseconds in a microsecond.
@@ -51,9 +51,9 @@ macro_rules! try_opt {
5151
///
5252
/// This also allows for the negative duration; see individual methods for details.
5353
#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
54-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
5554
#[cfg_attr(
56-
feature = "rkyv",
55+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
56+
derive(Archive, Deserialize, Serialize),
5757
archive(compare(PartialEq, PartialOrd)),
5858
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
5959
)]

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ pub mod serde {
578578
/// Zero-copy serialization/deserialization with rkyv.
579579
///
580580
/// This module re-exports the `Archived*` versions of chrono's types.
581-
#[cfg(feature = "rkyv")]
581+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
582582
pub mod rkyv {
583583
pub use crate::datetime::ArchivedDateTime;
584584
pub use crate::duration::ArchivedDuration;

src/month.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use core::fmt;
22

3-
#[cfg(feature = "rkyv")]
3+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
44
use rkyv::{Archive, Deserialize, Serialize};
55

66
use crate::OutOfRange;
@@ -30,9 +30,9 @@ use crate::OutOfRange;
3030
// Actual implementation is zero-indexed, API intended as 1-indexed for more intuitive behavior.
3131
#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash, PartialOrd, Ord)]
3232
#[cfg_attr(feature = "rustc-serialize", derive(RustcEncodable, RustcDecodable))]
33-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
3433
#[cfg_attr(
35-
feature = "rkyv",
34+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
35+
derive(Archive, Deserialize, Serialize),
3636
archive(compare(PartialEq, PartialOrd)),
3737
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
3838
)]

src/naive/date.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use core::iter::FusedIterator;
99
use core::ops::{Add, AddAssign, RangeInclusive, Sub, SubAssign};
1010
use core::{fmt, str};
1111

12-
#[cfg(feature = "rkyv")]
12+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
1313
use rkyv::{Archive, Deserialize, Serialize};
1414

1515
/// L10n locales.
@@ -189,9 +189,9 @@ impl Days {
189189
///
190190
/// [proleptic Gregorian date]: crate::NaiveDate#calendar-date
191191
#[derive(PartialEq, Eq, Hash, PartialOrd, Ord, Copy, Clone)]
192-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
193192
#[cfg_attr(
194-
feature = "rkyv",
193+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
194+
derive(Archive, Deserialize, Serialize),
195195
archive(compare(PartialEq, PartialOrd)),
196196
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
197197
)]

src/naive/datetime/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use core::ops::{Add, AddAssign, Sub, SubAssign};
1010
use core::time::Duration;
1111
use core::{fmt, str};
1212

13-
#[cfg(feature = "rkyv")]
13+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
1414
use rkyv::{Archive, Deserialize, Serialize};
1515

1616
use crate::duration::{Duration as OldDuration, NANOS_PER_SEC};
@@ -74,9 +74,9 @@ pub const MAX_DATETIME: NaiveDateTime = NaiveDateTime::MAX;
7474
/// assert_eq!(dt.num_seconds_from_midnight(), 33011);
7575
/// ```
7676
#[derive(PartialEq, Eq, Hash, PartialOrd, Ord, Copy, Clone)]
77-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
7877
#[cfg_attr(
79-
feature = "rkyv",
78+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
79+
derive(Archive, Deserialize, Serialize),
8080
archive(compare(PartialEq, PartialOrd)),
8181
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
8282
)]

src/naive/isoweek.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use core::fmt;
77

88
use super::internals::{DateImpl, Of, YearFlags};
99

10-
#[cfg(feature = "rkyv")]
10+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
1111
use rkyv::{Archive, Deserialize, Serialize};
1212

1313
/// ISO 8601 week.
@@ -17,9 +17,9 @@ use rkyv::{Archive, Deserialize, Serialize};
1717
/// One can retrieve this type from the existing [`Datelike`](../trait.Datelike.html) types
1818
/// via the [`Datelike::iso_week`](../trait.Datelike.html#tymethod.iso_week) method.
1919
#[derive(PartialEq, Eq, PartialOrd, Ord, Copy, Clone, Hash)]
20-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
2120
#[cfg_attr(
22-
feature = "rkyv",
21+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
22+
derive(Archive, Deserialize, Serialize),
2323
archive(compare(PartialEq, PartialOrd)),
2424
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
2525
)]

src/naive/time/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use core::ops::{Add, AddAssign, Sub, SubAssign};
99
use core::time::Duration;
1010
use core::{fmt, str};
1111

12-
#[cfg(feature = "rkyv")]
12+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
1313
use rkyv::{Archive, Deserialize, Serialize};
1414

1515
use crate::duration::Duration as OldDuration;
@@ -203,9 +203,9 @@ mod tests;
203203
/// Since Chrono alone cannot determine any existence of leap seconds,
204204
/// **there is absolutely no guarantee that the leap second read has actually happened**.
205205
#[derive(PartialEq, Eq, Hash, PartialOrd, Ord, Copy, Clone)]
206-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
207206
#[cfg_attr(
208-
feature = "rkyv",
207+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
208+
derive(Archive, Deserialize, Serialize),
209209
archive(compare(PartialEq, PartialOrd)),
210210
archive_attr(derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash))
211211
)]

src/offset/fixed.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
use core::fmt;
77
use core::str::FromStr;
88

9-
#[cfg(feature = "rkyv")]
9+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
1010
use rkyv::{Archive, Deserialize, Serialize};
1111

1212
use super::{LocalResult, Offset, TimeZone};
@@ -20,9 +20,9 @@ use crate::naive::{NaiveDate, NaiveDateTime};
2020
/// `DateTime<FixedOffset>` instances. See the [`east_opt`](#method.east_opt) and
2121
/// [`west_opt`](#method.west_opt) methods for examples.
2222
#[derive(PartialEq, Eq, Hash, Copy, Clone)]
23-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
2423
#[cfg_attr(
25-
feature = "rkyv",
24+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
25+
derive(Archive, Deserialize, Serialize),
2626
archive(compare(PartialEq)),
2727
archive_attr(derive(Clone, Copy, PartialEq, Eq, Hash, Debug))
2828
)]

src/offset/local/mod.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
//! The local (system) time zone.
55
6-
#[cfg(feature = "rkyv")]
6+
#[cfg(any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"))]
77
use rkyv::{Archive, Deserialize, Serialize};
88

99
use super::fixed::FixedOffset;
@@ -104,8 +104,12 @@ mod tz_info;
104104
/// assert!(dt1 >= dt2);
105105
/// ```
106106
#[derive(Copy, Clone, Debug)]
107-
#[cfg_attr(feature = "rkyv", derive(Archive, Deserialize, Serialize))]
108-
#[cfg_attr(feature = "rkyv", archive(compare(PartialEq)), archive_attr(derive(Clone, Copy, Debug)))]
107+
#[cfg_attr(
108+
any(feature = "rkyv", feature = "rkyv-16", feature = "rkyv-32", feature = "rkyv-64"),
109+
derive(Archive, Deserialize, Serialize),
110+
archive(compare(PartialEq)),
111+
archive_attr(derive(Clone, Copy, Debug))
112+
)]
109113
#[cfg_attr(feature = "rkyv-validation", archive(check_bytes))]
110114
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
111115
pub struct Local;

0 commit comments

Comments
 (0)