diff --git a/Cargo.toml b/Cargo.toml index 9b4db35a60..a25d939fcb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,13 @@ [package] name = "chrono" -version = "0.1.4" +version = "0.1.5" authors = ["Kang Seonghoon "] description = "Date and time library for Rust" homepage = "https://github.com/lifthrasiir/rust-chrono" documentation = "https://lifthrasiir.github.io/rust-chrono/chrono/" repository = "https://github.com/lifthrasiir/rust-chrono" +keywords = ["date", "time", "calendar"] readme = "README.md" license = "MIT/Apache-2.0" diff --git a/src/date.rs b/src/date.rs index e75cdcd6ad..eb4bcf1f0e 100644 --- a/src/date.rs +++ b/src/date.rs @@ -262,25 +262,23 @@ impl hash::Hash for Date { } impl Add> for Date { - fn add(&self, rhs: &Duration) -> Date { - Date { date: self.date + *rhs, offset: self.offset.clone() } + fn add(self, rhs: Duration) -> Date { + Date { date: self.date + rhs, offset: self.offset } } } impl Add,Date> for Duration { #[inline] - fn add(&self, rhs: &Date) -> Date { rhs.add(self) } + fn add(self, rhs: Date) -> Date { rhs.add(self) } } impl Sub,Duration> for Date { - fn sub(&self, rhs: &Date) -> Duration { - self.date - rhs.date - } + fn sub(self, rhs: Date) -> Duration { self.date - rhs.date } } impl Sub> for Date { #[inline] - fn sub(&self, rhs: &Duration) -> Date { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> Date { self.add(-rhs) } } impl fmt::Show for Date { diff --git a/src/datetime.rs b/src/datetime.rs index 24e9b7bdcb..b86e0d1180 100644 --- a/src/datetime.rs +++ b/src/datetime.rs @@ -183,25 +183,23 @@ impl hash::Hash for DateTime { } impl Add> for DateTime { - fn add(&self, rhs: &Duration) -> DateTime { - DateTime { datetime: self.datetime + *rhs, offset: self.offset.clone() } + fn add(self, rhs: Duration) -> DateTime { + DateTime { datetime: self.datetime + rhs, offset: self.offset } } } impl Add,DateTime> for Duration { #[inline] - fn add(&self, rhs: &DateTime) -> DateTime { rhs.add(self) } + fn add(self, rhs: DateTime) -> DateTime { rhs.add(self) } } impl Sub,Duration> for DateTime { - fn sub(&self, rhs: &DateTime) -> Duration { - self.datetime - rhs.datetime - } + fn sub(self, rhs: DateTime) -> Duration { self.datetime - rhs.datetime } } impl Sub> for DateTime { #[inline] - fn sub(&self, rhs: &Duration) -> DateTime { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> DateTime { self.add(-rhs) } } impl fmt::Show for DateTime { diff --git a/src/format.rs b/src/format.rs index 30aea655f5..a3f6a09cc4 100644 --- a/src/format.rs +++ b/src/format.rs @@ -52,8 +52,8 @@ fn format(w: &mut Writer, date: Option<&NaiveDate>, time: Option<&NaiveTime>, (Some('Y'), Some(d), _, _) => try!(write!(w, "{}", d.year())), (Some('C'), Some(d), _, _) => try!(write!(w, "{:02}", d.year() / 100)), (Some('y'), Some(d), _, _) => try!(write!(w, "{:02}", d.year() % 100)), - (Some('G'), Some(d), _, _) => try!(write!(w, "{:04}", d.isoweekdate().val0())), - (Some('g'), Some(d), _, _) => try!(write!(w, "{:02}", d.isoweekdate().val0() % 100)), + (Some('G'), Some(d), _, _) => try!(write!(w, "{:04}", d.isoweekdate().0)), + (Some('g'), Some(d), _, _) => try!(write!(w, "{:02}", d.isoweekdate().0 % 100)), // month (Some('m'), Some(d), _, _) => try!(write!(w, "{:02}", d.month())), @@ -73,7 +73,7 @@ fn format(w: &mut Writer, date: Option<&NaiveDate>, time: Option<&NaiveTime>, (Some('W'), Some(d), _, _) => try!(write!(w, "{:02}", (d.ordinal() - d.weekday().num_days_from_monday() + 7) / 7)), - (Some('V'), Some(d), _, _) => try!(write!(w, "{:02}", d.isoweekdate().val1())), + (Some('V'), Some(d), _, _) => try!(write!(w, "{:02}", d.isoweekdate().1)), // day of week (Some('a'), Some(d), _, _) => @@ -98,12 +98,12 @@ fn format(w: &mut Writer, date: Option<&NaiveDate>, time: Option<&NaiveTime>, // hour (Some('H'), _, Some(t), _) => try!(write!(w, "{:02}", t.hour())), (Some('k'), _, Some(t), _) => try!(write!(w, "{:2}", t.hour())), - (Some('I'), _, Some(t), _) => try!(write!(w, "{:02}", t.hour12().val1())), - (Some('l'), _, Some(t), _) => try!(write!(w, "{:2}", t.hour12().val1())), + (Some('I'), _, Some(t), _) => try!(write!(w, "{:02}", t.hour12().1)), + (Some('l'), _, Some(t), _) => try!(write!(w, "{:2}", t.hour12().1)), (Some('P'), _, Some(t), _) => - try!(write!(w, "{}", if t.hour12().val0() {"pm"} else {"am"})), + try!(write!(w, "{}", if t.hour12().0 {"pm"} else {"am"})), (Some('p'), _, Some(t), _) => - try!(write!(w, "{}", if t.hour12().val0() {"PM"} else {"AM"})), + try!(write!(w, "{}", if t.hour12().0 {"PM"} else {"AM"})), // minute (Some('M'), _, Some(t), _) => try!(write!(w, "{:02}", t.minute())), diff --git a/src/naive/date.rs b/src/naive/date.rs index 7482a4a90d..8cb5f74054 100644 --- a/src/naive/date.rs +++ b/src/naive/date.rs @@ -378,7 +378,7 @@ impl Datelike for NaiveDate { } impl Add for NaiveDate { - fn add(&self, rhs: &Duration) -> NaiveDate { + fn add(self, rhs: Duration) -> NaiveDate { // TODO overflow currently fails let year = self.year(); @@ -397,11 +397,11 @@ impl Add for NaiveDate { impl Add for Duration { #[inline] - fn add(&self, rhs: &NaiveDate) -> NaiveDate { rhs.add(self) } + fn add(self, rhs: NaiveDate) -> NaiveDate { rhs.add(self) } } impl Sub for NaiveDate { - fn sub(&self, rhs: &NaiveDate) -> Duration { + fn sub(self, rhs: NaiveDate) -> Duration { let year1 = self.year(); let year2 = rhs.year(); let (year1_div_400, year1_mod_400) = div_mod_floor(year1, 400); @@ -414,7 +414,7 @@ impl Sub for NaiveDate { impl Sub for NaiveDate { #[inline] - fn sub(&self, rhs: &Duration) -> NaiveDate { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> NaiveDate { self.add(-rhs) } } impl fmt::Show for NaiveDate { diff --git a/src/naive/datetime.rs b/src/naive/datetime.rs index 1e22543546..e6e9c633be 100644 --- a/src/naive/datetime.rs +++ b/src/naive/datetime.rs @@ -163,11 +163,11 @@ impl Timelike for NaiveDateTime { } impl Add for NaiveDateTime { - fn add(&self, rhs: &Duration) -> NaiveDateTime { + fn add(self, rhs: Duration) -> NaiveDateTime { // Duration does not directly give its parts, so we need some additional calculations. let days = rhs.num_days(); - let nanos = (*rhs - Duration::days(days)).num_nanoseconds().unwrap(); - debug_assert!(Duration::days(days) + Duration::nanoseconds(nanos) == *rhs); + let nanos = (rhs - Duration::days(days)).num_nanoseconds().unwrap(); + debug_assert!(Duration::days(days) + Duration::nanoseconds(nanos) == rhs); debug_assert!(-86400_000_000_000 < nanos && nanos < 86400_000_000_000); let mut date = self.date + Duration::days(days); @@ -185,18 +185,18 @@ impl Add for NaiveDateTime { impl Add for Duration { #[inline] - fn add(&self, rhs: &NaiveDateTime) -> NaiveDateTime { rhs.add(self) } + fn add(self, rhs: NaiveDateTime) -> NaiveDateTime { rhs.add(self) } } impl Sub for NaiveDateTime { - fn sub(&self, rhs: &NaiveDateTime) -> Duration { + fn sub(self, rhs: NaiveDateTime) -> Duration { (self.date - rhs.date) + (self.time - rhs.time) } } impl Sub for NaiveDateTime { #[inline] - fn sub(&self, rhs: &Duration) -> NaiveDateTime { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> NaiveDateTime { self.add(-rhs) } } impl fmt::Show for NaiveDateTime { diff --git a/src/naive/time.rs b/src/naive/time.rs index c9f64cd39e..a1f8ff8364 100644 --- a/src/naive/time.rs +++ b/src/naive/time.rs @@ -133,9 +133,9 @@ impl NaiveTime { } impl Timelike for NaiveTime { - #[inline] fn hour(&self) -> u32 { self.hms().val0() } - #[inline] fn minute(&self) -> u32 { self.hms().val1() } - #[inline] fn second(&self) -> u32 { self.hms().val2() } + #[inline] fn hour(&self) -> u32 { self.hms().0 } + #[inline] fn minute(&self) -> u32 { self.hms().1 } + #[inline] fn second(&self) -> u32 { self.hms().2 } #[inline] fn nanosecond(&self) -> u32 { self.frac } #[inline] @@ -172,10 +172,10 @@ impl Timelike for NaiveTime { } impl Add for NaiveTime { - fn add(&self, rhs: &Duration) -> NaiveTime { + fn add(self, rhs: Duration) -> NaiveTime { // there is no direct interface in `Duration` to get only the nanosecond part, // so we need to do the additional calculation here. - let rhs2 = *rhs - Duration::seconds(rhs.num_seconds()); + let rhs2 = rhs - Duration::seconds(rhs.num_seconds()); let mut secs = self.secs + (rhs.num_seconds() % 86400 + 86400) as u32; let mut nanos = self.frac + rhs2.num_nanoseconds().unwrap() as u32; @@ -192,11 +192,11 @@ impl Add for NaiveTime { impl Add for Duration { #[inline] - fn add(&self, rhs: &NaiveTime) -> NaiveTime { rhs.add(self) } + fn add(self, rhs: NaiveTime) -> NaiveTime { rhs.add(self) } } impl Sub for NaiveTime { - fn sub(&self, rhs: &NaiveTime) -> Duration { + fn sub(self, rhs: NaiveTime) -> Duration { // the number of whole non-leap seconds let secs = self.secs as i64 - rhs.secs as i64 - 1; @@ -214,7 +214,7 @@ impl Sub for NaiveTime { impl Sub for NaiveTime { #[inline] - fn sub(&self, rhs: &Duration) -> NaiveTime { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> NaiveTime { self.add(-rhs) } } impl fmt::Show for NaiveTime { diff --git a/src/time.rs b/src/time.rs index 79103875f7..74c91d683b 100644 --- a/src/time.rs +++ b/src/time.rs @@ -111,25 +111,23 @@ impl hash::Hash for Time { } impl Add> for Time { - fn add(&self, rhs: &Duration) -> Time { - Time { time: self.time + *rhs, offset: self.offset.clone() } + fn add(self, rhs: Duration) -> Time { + Time { time: self.time + rhs, offset: self.offset } } } impl Add,Time> for Duration { #[inline] - fn add(&self, rhs: &Time) -> Time { rhs.add(self) } + fn add(self, rhs: Time) -> Time { rhs.add(self) } } impl Sub,Duration> for Time { - fn sub(&self, rhs: &Time) -> Duration { - self.time - rhs.time - } + fn sub(self, rhs: Time) -> Duration { self.time - rhs.time } } impl Sub> for Time { #[inline] - fn sub(&self, rhs: &Duration) -> Time { self.add(&-*rhs) } + fn sub(self, rhs: Duration) -> Time { self.add(-rhs) } } impl fmt::Show for Time {