0.2.7: language changes.
- Feature flags are now required on the doctests. - New lints for trivial casts. We are now not going to change the internal implementation type for `NaiveDate`, so that's fine.
This commit is contained in:
parent
a5bd6c040e
commit
98c5f3a2b1
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "chrono"
|
name = "chrono"
|
||||||
version = "0.2.6"
|
version = "0.2.7"
|
||||||
authors = ["Kang Seonghoon <public+rust@mearie.org>"]
|
authors = ["Kang Seonghoon <public+rust@mearie.org>"]
|
||||||
|
|
||||||
description = "Date and time library for Rust"
|
description = "Date and time library for Rust"
|
||||||
|
@ -15,5 +15,5 @@ license = "MIT/Apache-2.0"
|
||||||
name = "chrono"
|
name = "chrono"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
time = "0.1.20"
|
time = "0.1.21"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[Chrono][doc] 0.2.6
|
[Chrono][doc] 0.2.7
|
||||||
===================
|
===================
|
||||||
|
|
||||||
[![Chrono on Travis CI][travis-image]][travis]
|
[![Chrono on Travis CI][travis-image]][travis]
|
||||||
|
|
|
@ -723,11 +723,11 @@ mod tests {
|
||||||
assert_eq!(parse!(year_div_100: -1, year_mod_100: 42, month: 1, day: 1),
|
assert_eq!(parse!(year_div_100: -1, year_mod_100: 42, month: 1, day: 1),
|
||||||
Err(OUT_OF_RANGE));
|
Err(OUT_OF_RANGE));
|
||||||
let max_year = date::MAX.year();
|
let max_year = date::MAX.year();
|
||||||
assert_eq!(parse!(year_div_100: max_year as i32 / 100,
|
assert_eq!(parse!(year_div_100: max_year / 100,
|
||||||
year_mod_100: max_year as i32 % 100, month: 1, day: 1),
|
year_mod_100: max_year % 100, month: 1, day: 1),
|
||||||
ymd(max_year, 1, 1));
|
ymd(max_year, 1, 1));
|
||||||
assert_eq!(parse!(year_div_100: (max_year + 1) as i32 / 100,
|
assert_eq!(parse!(year_div_100: (max_year + 1) / 100,
|
||||||
year_mod_100: (max_year + 1) as i32 % 100, month: 1, day: 1),
|
year_mod_100: (max_year + 1) % 100, month: 1, day: 1),
|
||||||
Err(OUT_OF_RANGE));
|
Err(OUT_OF_RANGE));
|
||||||
|
|
||||||
// ymd: conflicting inputs
|
// ymd: conflicting inputs
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
# Chrono 0.2.6
|
# Chrono 0.2.7
|
||||||
|
|
||||||
Date and time handling for Rust. (also known as `rust-chrono`)
|
Date and time handling for Rust. (also known as `rust-chrono`)
|
||||||
It aims to be a feature-complete superset of the [time](https://github.com/rust-lang/time) library.
|
It aims to be a feature-complete superset of the [time](https://github.com/rust-lang/time) library.
|
||||||
|
@ -100,6 +100,7 @@ Addition and subtraction is also supported.
|
||||||
The following illustrates most supported operations to the date and time:
|
The following illustrates most supported operations to the date and time:
|
||||||
|
|
||||||
~~~~ {.rust}
|
~~~~ {.rust}
|
||||||
|
# #![feature(std_misc)]
|
||||||
use chrono::*;
|
use chrono::*;
|
||||||
|
|
||||||
# /* we intentionally fake the datetime...
|
# /* we intentionally fake the datetime...
|
||||||
|
@ -270,7 +271,7 @@ Advanced time zone handling is not yet supported (but is planned in 0.3).
|
||||||
#![cfg_attr(test, feature(test))] // ditto
|
#![cfg_attr(test, feature(test))] // ditto
|
||||||
#![deny(missing_docs)]
|
#![deny(missing_docs)]
|
||||||
|
|
||||||
extern crate "time" as stdtime;
|
extern crate time as stdtime;
|
||||||
|
|
||||||
pub use duration::Duration;
|
pub use duration::Duration;
|
||||||
pub use offset::{TimeZone, Offset, LocalResult};
|
pub use offset::{TimeZone, Offset, LocalResult};
|
||||||
|
|
|
@ -20,8 +20,8 @@ use format::{parse, Parsed, ParseError, ParseResult, DelayedFormat, StrftimeItem
|
||||||
|
|
||||||
use self::internals::{DateImpl, Of, Mdf, YearFlags};
|
use self::internals::{DateImpl, Of, Mdf, YearFlags};
|
||||||
|
|
||||||
const MAX_YEAR: i32 = internals::MAX_YEAR as i32;
|
const MAX_YEAR: i32 = internals::MAX_YEAR;
|
||||||
const MIN_YEAR: i32 = internals::MIN_YEAR as i32;
|
const MIN_YEAR: i32 = internals::MIN_YEAR;
|
||||||
|
|
||||||
// MAX_YEAR-12-31 minus 0000-01-01
|
// MAX_YEAR-12-31 minus 0000-01-01
|
||||||
// = ((MAX_YEAR+1)-01-01 minus 0001-01-01) + (0001-01-01 minus 0000-01-01) - 1 day
|
// = ((MAX_YEAR+1)-01-01 minus 0001-01-01) + (0001-01-01 minus 0000-01-01) - 1 day
|
||||||
|
@ -74,7 +74,7 @@ impl NaiveDate {
|
||||||
fn from_of(year: i32, of: Of) -> Option<NaiveDate> {
|
fn from_of(year: i32, of: Of) -> Option<NaiveDate> {
|
||||||
if year >= MIN_YEAR && year <= MAX_YEAR && of.valid() {
|
if year >= MIN_YEAR && year <= MAX_YEAR && of.valid() {
|
||||||
let Of(of) = of;
|
let Of(of) = of;
|
||||||
Some(NaiveDate { ymdf: ((year << 13) as DateImpl) | (of as DateImpl) })
|
Some(NaiveDate { ymdf: (year << 13) | (of as DateImpl) })
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
@ -452,7 +452,7 @@ impl NaiveDate {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Datelike for NaiveDate {
|
impl Datelike for NaiveDate {
|
||||||
#[inline] fn year(&self) -> i32 { (self.ymdf >> 13) as i32 }
|
#[inline] fn year(&self) -> i32 { self.ymdf >> 13 }
|
||||||
#[inline] fn month(&self) -> u32 { self.mdf().month() }
|
#[inline] fn month(&self) -> u32 { self.mdf().month() }
|
||||||
#[inline] fn month0(&self) -> u32 { self.mdf().month() - 1 }
|
#[inline] fn month0(&self) -> u32 { self.mdf().month() - 1 }
|
||||||
#[inline] fn day(&self) -> u32 { self.mdf().day() }
|
#[inline] fn day(&self) -> u32 { self.mdf().day() }
|
||||||
|
@ -1326,7 +1326,7 @@ mod internals {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn ordinal(&self) -> u32 {
|
pub fn ordinal(&self) -> u32 {
|
||||||
let Of(of) = *self;
|
let Of(of) = *self;
|
||||||
(of >> 4) as u32
|
of >> 4
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
@ -1436,7 +1436,7 @@ mod internals {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn month(&self) -> u32 {
|
pub fn month(&self) -> u32 {
|
||||||
let Mdf(mdf) = *self;
|
let Mdf(mdf) = *self;
|
||||||
(mdf >> 9) as u32
|
mdf >> 9
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
@ -1449,7 +1449,7 @@ mod internals {
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn day(&self) -> u32 {
|
pub fn day(&self) -> u32 {
|
||||||
let Mdf(mdf) = *self;
|
let Mdf(mdf) = *self;
|
||||||
((mdf >> 4) & 0b11111) as u32
|
(mdf >> 4) & 0b11111
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|
Loading…
Reference in New Issue