@@ -1057,16 +1057,16 @@ impl NaiveDate {
1057
1057
///
1058
1058
/// let d = NaiveDate::from_ymd_opt(2015, 9, 5).unwrap();
1059
1059
/// assert_eq!(
1060
- /// d.checked_add_signed(TimeDelta::days (40)),
1060
+ /// d.checked_add_signed(TimeDelta::try_days (40).unwrap( )),
1061
1061
/// Some(NaiveDate::from_ymd_opt(2015, 10, 15).unwrap())
1062
1062
/// );
1063
1063
/// assert_eq!(
1064
- /// d.checked_add_signed(TimeDelta::days (-40)),
1064
+ /// d.checked_add_signed(TimeDelta::try_days (-40).unwrap( )),
1065
1065
/// Some(NaiveDate::from_ymd_opt(2015, 7, 27).unwrap())
1066
1066
/// );
1067
- /// assert_eq!(d.checked_add_signed(TimeDelta::days (1_000_000_000)), None);
1068
- /// assert_eq!(d.checked_add_signed(TimeDelta::days (-1_000_000_000)), None);
1069
- /// assert_eq!(NaiveDate::MAX.checked_add_signed(TimeDelta::days(1 )), None);
1067
+ /// assert_eq!(d.checked_add_signed(TimeDelta::try_days (1_000_000_000).unwrap( )), None);
1068
+ /// assert_eq!(d.checked_add_signed(TimeDelta::try_days (-1_000_000_000).unwrap( )), None);
1069
+ /// assert_eq!(NaiveDate::MAX.checked_add_signed(TimeDelta::try_days(1).unwrap( )), None);
1070
1070
/// ```
1071
1071
#[ must_use]
1072
1072
pub const fn checked_add_signed ( self , rhs : TimeDelta ) -> Option < NaiveDate > {
@@ -1090,16 +1090,16 @@ impl NaiveDate {
1090
1090
///
1091
1091
/// let d = NaiveDate::from_ymd_opt(2015, 9, 5).unwrap();
1092
1092
/// assert_eq!(
1093
- /// d.checked_sub_signed(TimeDelta::days (40)),
1093
+ /// d.checked_sub_signed(TimeDelta::try_days (40).unwrap( )),
1094
1094
/// Some(NaiveDate::from_ymd_opt(2015, 7, 27).unwrap())
1095
1095
/// );
1096
1096
/// assert_eq!(
1097
- /// d.checked_sub_signed(TimeDelta::days (-40)),
1097
+ /// d.checked_sub_signed(TimeDelta::try_days (-40).unwrap( )),
1098
1098
/// Some(NaiveDate::from_ymd_opt(2015, 10, 15).unwrap())
1099
1099
/// );
1100
- /// assert_eq!(d.checked_sub_signed(TimeDelta::days (1_000_000_000)), None);
1101
- /// assert_eq!(d.checked_sub_signed(TimeDelta::days (-1_000_000_000)), None);
1102
- /// assert_eq!(NaiveDate::MIN.checked_sub_signed(TimeDelta::days(1 )), None);
1100
+ /// assert_eq!(d.checked_sub_signed(TimeDelta::try_days (1_000_000_000).unwrap( )), None);
1101
+ /// assert_eq!(d.checked_sub_signed(TimeDelta::try_days (-1_000_000_000).unwrap( )), None);
1102
+ /// assert_eq!(NaiveDate::MIN.checked_sub_signed(TimeDelta::try_days(1).unwrap( )), None);
1103
1103
/// ```
1104
1104
#[ must_use]
1105
1105
pub const fn checked_sub_signed ( self , rhs : TimeDelta ) -> Option < NaiveDate > {
@@ -1125,12 +1125,27 @@ impl NaiveDate {
1125
1125
/// let since = NaiveDate::signed_duration_since;
1126
1126
///
1127
1127
/// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2014, 1, 1)), TimeDelta::zero());
1128
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2013, 12, 31)), TimeDelta::days(1));
1129
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2014, 1, 2)), TimeDelta::days(-1));
1130
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2013, 9, 23)), TimeDelta::days(100));
1131
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2013, 1, 1)), TimeDelta::days(365));
1132
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2010, 1, 1)), TimeDelta::days(365 * 4 + 1));
1133
- /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(1614, 1, 1)), TimeDelta::days(365 * 400 + 97));
1128
+ /// assert_eq!(
1129
+ /// since(from_ymd(2014, 1, 1), from_ymd(2013, 12, 31)),
1130
+ /// TimeDelta::try_days(1).unwrap()
1131
+ /// );
1132
+ /// assert_eq!(since(from_ymd(2014, 1, 1), from_ymd(2014, 1, 2)), TimeDelta::try_days(-1).unwrap());
1133
+ /// assert_eq!(
1134
+ /// since(from_ymd(2014, 1, 1), from_ymd(2013, 9, 23)),
1135
+ /// TimeDelta::try_days(100).unwrap()
1136
+ /// );
1137
+ /// assert_eq!(
1138
+ /// since(from_ymd(2014, 1, 1), from_ymd(2013, 1, 1)),
1139
+ /// TimeDelta::try_days(365).unwrap()
1140
+ /// );
1141
+ /// assert_eq!(
1142
+ /// since(from_ymd(2014, 1, 1), from_ymd(2010, 1, 1)),
1143
+ /// TimeDelta::try_days(365 * 4 + 1).unwrap()
1144
+ /// );
1145
+ /// assert_eq!(
1146
+ /// since(from_ymd(2014, 1, 1), from_ymd(1614, 1, 1)),
1147
+ /// TimeDelta::try_days(365 * 400 + 97).unwrap()
1148
+ /// );
1134
1149
/// ```
1135
1150
#[ must_use]
1136
1151
pub const fn signed_duration_since ( self , rhs : NaiveDate ) -> TimeDelta {
@@ -1894,11 +1909,17 @@ impl Datelike for NaiveDate {
1894
1909
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::zero(), from_ymd(2014, 1, 1));
1895
1910
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::seconds(86399), from_ymd(2014, 1, 1));
1896
1911
/// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::seconds(-86399), from_ymd(2014, 1, 1));
1897
- /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::days(1), from_ymd(2014, 1, 2));
1898
- /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::days(-1), from_ymd(2013, 12, 31));
1899
- /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::days(364), from_ymd(2014, 12, 31));
1900
- /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::days(365 * 4 + 1), from_ymd(2018, 1, 1));
1901
- /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::days(365 * 400 + 97), from_ymd(2414, 1, 1));
1912
+ /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(1).unwrap(), from_ymd(2014, 1, 2));
1913
+ /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(-1).unwrap(), from_ymd(2013, 12, 31));
1914
+ /// assert_eq!(from_ymd(2014, 1, 1) + TimeDelta::try_days(364).unwrap(), from_ymd(2014, 12, 31));
1915
+ /// assert_eq!(
1916
+ /// from_ymd(2014, 1, 1) + TimeDelta::try_days(365 * 4 + 1).unwrap(),
1917
+ /// from_ymd(2018, 1, 1)
1918
+ /// );
1919
+ /// assert_eq!(
1920
+ /// from_ymd(2014, 1, 1) + TimeDelta::try_days(365 * 400 + 97).unwrap(),
1921
+ /// from_ymd(2414, 1, 1)
1922
+ /// );
1902
1923
/// ```
1903
1924
///
1904
1925
/// [`NaiveDate::checked_add_signed`]: crate::NaiveDate::checked_add_signed
@@ -2037,11 +2058,17 @@ impl Sub<Days> for NaiveDate {
2037
2058
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::zero(), from_ymd(2014, 1, 1));
2038
2059
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::seconds(86399), from_ymd(2014, 1, 1));
2039
2060
/// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::seconds(-86399), from_ymd(2014, 1, 1));
2040
- /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::days(1), from_ymd(2013, 12, 31));
2041
- /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::days(-1), from_ymd(2014, 1, 2));
2042
- /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::days(364), from_ymd(2013, 1, 2));
2043
- /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::days(365 * 4 + 1), from_ymd(2010, 1, 1));
2044
- /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::days(365 * 400 + 97), from_ymd(1614, 1, 1));
2061
+ /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(1).unwrap(), from_ymd(2013, 12, 31));
2062
+ /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(-1).unwrap(), from_ymd(2014, 1, 2));
2063
+ /// assert_eq!(from_ymd(2014, 1, 1) - TimeDelta::try_days(364).unwrap(), from_ymd(2013, 1, 2));
2064
+ /// assert_eq!(
2065
+ /// from_ymd(2014, 1, 1) - TimeDelta::try_days(365 * 4 + 1).unwrap(),
2066
+ /// from_ymd(2010, 1, 1)
2067
+ /// );
2068
+ /// assert_eq!(
2069
+ /// from_ymd(2014, 1, 1) - TimeDelta::try_days(365 * 400 + 97).unwrap(),
2070
+ /// from_ymd(1614, 1, 1)
2071
+ /// );
2045
2072
/// ```
2046
2073
///
2047
2074
/// [`NaiveDate::checked_sub_signed`]: crate::NaiveDate::checked_sub_signed
@@ -2088,12 +2115,18 @@ impl SubAssign<TimeDelta> for NaiveDate {
2088
2115
/// let from_ymd = |y, m, d| NaiveDate::from_ymd_opt(y, m, d).unwrap();
2089
2116
///
2090
2117
/// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2014, 1, 1), TimeDelta::zero());
2091
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 12, 31), TimeDelta::days(1));
2092
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2014, 1, 2), TimeDelta::days(-1));
2093
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 9, 23), TimeDelta::days(100));
2094
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 1, 1), TimeDelta::days(365));
2095
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2010, 1, 1), TimeDelta::days(365 * 4 + 1));
2096
- /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(1614, 1, 1), TimeDelta::days(365 * 400 + 97));
2118
+ /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 12, 31), TimeDelta::try_days(1).unwrap());
2119
+ /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2014, 1, 2), TimeDelta::try_days(-1).unwrap());
2120
+ /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 9, 23), TimeDelta::try_days(100).unwrap());
2121
+ /// assert_eq!(from_ymd(2014, 1, 1) - from_ymd(2013, 1, 1), TimeDelta::try_days(365).unwrap());
2122
+ /// assert_eq!(
2123
+ /// from_ymd(2014, 1, 1) - from_ymd(2010, 1, 1),
2124
+ /// TimeDelta::try_days(365 * 4 + 1).unwrap()
2125
+ /// );
2126
+ /// assert_eq!(
2127
+ /// from_ymd(2014, 1, 1) - from_ymd(1614, 1, 1),
2128
+ /// TimeDelta::try_days(365 * 400 + 97).unwrap()
2129
+ /// );
2097
2130
/// ```
2098
2131
impl Sub < NaiveDate > for NaiveDate {
2099
2132
type Output = TimeDelta ;
0 commit comments