Merge pull request #174 from quodlibetor/deprecated-warnings-for-rustc_serialize
Deprecated warnings in cargo output for rustc-serialize feature
This commit is contained in:
commit
a060684abe
|
@ -8,6 +8,12 @@ Chrono obeys the principle of [Semantic Versioning](http://semver.org/).
|
|||
There were/are numerous minor versions before 1.0 due to the language changes.
|
||||
Versions with only mechnical changes will be omitted from the following list.
|
||||
|
||||
## 0.4.next
|
||||
|
||||
* More strongly deprecate RustcSerialize: remove it from documentation unless
|
||||
the feature is enabled, issue a deprecation warning if the rustc-serialize
|
||||
feature is enabled (@quodlibetor)
|
||||
|
||||
## 0.4.1
|
||||
|
||||
### Bug Fixes
|
||||
|
|
13
README.md
13
README.md
|
@ -45,21 +45,14 @@ Put this in your `Cargo.toml`:
|
|||
chrono = "0.4"
|
||||
```
|
||||
|
||||
Or, if you want [Serde](https://github.com/serde-rs/serde) or
|
||||
[rustc-serialize](https://github.com/rust-lang-nursery/rustc-serialize) support,
|
||||
include the features like this:
|
||||
Or, if you want [Serde](https://github.com/serde-rs/serde) include the feature
|
||||
like this:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
chrono = { version = "0.4", features = ["serde", "rustc-serialize"] }
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
```
|
||||
|
||||
> Note that Chrono's support for rustc-serialize is now considered deprecated.
|
||||
Starting from 0.4.0 there is no further guarantee that
|
||||
the features available in Serde will be also available to rustc-serialize,
|
||||
and the support can be removed in any future major version.
|
||||
**Rustc-serialize users are strongly recommended to migrate to Serde.**
|
||||
|
||||
Then put this in your crate root:
|
||||
|
||||
```rust
|
||||
|
|
|
@ -695,7 +695,9 @@ pub mod rustc_serialize {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl Decodable for TsSeconds<FixedOffset> {
|
||||
#[allow(deprecated)]
|
||||
fn decode<D: Decoder>(d: &mut D) -> Result<TsSeconds<FixedOffset>, D::Error> {
|
||||
from(FixedOffset::east(0).timestamp_opt(d.read_i64()?, 0), d)
|
||||
.map(TsSeconds)
|
||||
|
@ -717,13 +719,16 @@ pub mod rustc_serialize {
|
|||
#[derive(Debug)]
|
||||
pub struct TsSeconds<Tz: TimeZone>(DateTime<Tz>);
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl<Tz: TimeZone> From<TsSeconds<Tz>> for DateTime<Tz> {
|
||||
/// Pull the inner DateTime<Tz> out
|
||||
#[allow(deprecated)]
|
||||
fn from(obj: TsSeconds<Tz>) -> DateTime<Tz> {
|
||||
obj.0
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl<Tz: TimeZone> Deref for TsSeconds<Tz> {
|
||||
type Target = DateTime<Tz>;
|
||||
|
||||
|
@ -732,6 +737,7 @@ pub mod rustc_serialize {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl Decodable for TsSeconds<Utc> {
|
||||
fn decode<D: Decoder>(d: &mut D) -> Result<TsSeconds<Utc>, D::Error> {
|
||||
from(Utc.timestamp_opt(d.read_i64()?, 0), d)
|
||||
|
@ -748,7 +754,9 @@ pub mod rustc_serialize {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl Decodable for TsSeconds<Local> {
|
||||
#[allow(deprecated)]
|
||||
fn decode<D: Decoder>(d: &mut D) -> Result<TsSeconds<Local>, D::Error> {
|
||||
from(Utc.timestamp_opt(d.read_i64()?, 0), d)
|
||||
.map(|dt| TsSeconds(dt.with_timezone(&Local)))
|
||||
|
|
|
@ -411,7 +411,8 @@ pub use oldtime::Duration;
|
|||
#[doc(no_inline)] pub use naive::{NaiveDate, IsoWeek, NaiveTime, NaiveDateTime};
|
||||
pub use date::{Date, MIN_DATE, MAX_DATE};
|
||||
pub use datetime::{DateTime, SecondsFormat};
|
||||
#[cfg(feature = "rustc-serialize")] pub use datetime::rustc_serialize::TsSeconds;
|
||||
#[cfg(feature = "rustc-serialize")]
|
||||
pub use datetime::rustc_serialize::TsSeconds;
|
||||
pub use format::{ParseError, ParseResult};
|
||||
pub use round::SubsecRound;
|
||||
|
||||
|
@ -451,6 +452,7 @@ pub mod naive {
|
|||
pub use self::time::NaiveTime;
|
||||
pub use self::datetime::NaiveDateTime;
|
||||
#[cfg(feature = "rustc-serialize")]
|
||||
#[allow(deprecated)]
|
||||
pub use self::datetime::rustc_serialize::TsSeconds;
|
||||
|
||||
|
||||
|
|
|
@ -1503,24 +1503,32 @@ pub mod rustc_serialize {
|
|||
|
||||
/// A `DateTime` that can be deserialized from a seconds-based timestamp
|
||||
#[derive(Debug)]
|
||||
#[deprecated(since = "1.4.2",
|
||||
note = "RustcSerialize will be removed before chrono 1.0, use Serde instead")]
|
||||
pub struct TsSeconds(NaiveDateTime);
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl From<TsSeconds> for NaiveDateTime {
|
||||
/// Pull the internal NaiveDateTime out
|
||||
#[allow(deprecated)]
|
||||
fn from(obj: TsSeconds) -> NaiveDateTime {
|
||||
obj.0
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl Deref for TsSeconds {
|
||||
type Target = NaiveDateTime;
|
||||
|
||||
#[allow(deprecated)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl Decodable for TsSeconds {
|
||||
#[allow(deprecated)]
|
||||
fn decode<D: Decoder>(d: &mut D) -> Result<TsSeconds, D::Error> {
|
||||
Ok(TsSeconds(
|
||||
NaiveDateTime::from_timestamp_opt(d.read_i64()?, 0)
|
||||
|
|
Loading…
Reference in New Issue