@@ -240,14 +240,13 @@ pub fn parse_datetime_at_date<S: AsRef<str> + Clone>(
240
240
// reference date could be parsed, then try to parse the entire
241
241
// string as a time delta. If no time delta could be parsed,
242
242
// return an error.
243
- let ( ref_date, n) = match parse_reference_date ( date, s. as_ref ( ) ) {
244
- Some ( ( ref_date, n) ) => ( ref_date, n) ,
245
- None => {
246
- let tz = TimeZone :: from_offset ( date. offset ( ) ) ;
247
- match date. naive_local ( ) . and_local_timezone ( tz) {
248
- MappedLocalTime :: Single ( ref_date) => ( ref_date, 0 ) ,
249
- _ => return Err ( ParseDateTimeError :: InvalidInput ) ,
250
- }
243
+ let ( ref_date, n) = if let Some ( ( ref_date, n) ) = parse_reference_date ( date, s. as_ref ( ) ) {
244
+ ( ref_date, n)
245
+ } else {
246
+ let tz = TimeZone :: from_offset ( date. offset ( ) ) ;
247
+ match date. naive_local ( ) . and_local_timezone ( tz) {
248
+ MappedLocalTime :: Single ( ref_date) => ( ref_date, 0 ) ,
249
+ _ => return Err ( ParseDateTimeError :: InvalidInput ) ,
251
250
}
252
251
} ;
253
252
parse_relative_time_at_date ( ref_date, & s. as_ref ( ) [ n..] )
@@ -619,12 +618,12 @@ mod tests {
619
618
for offset in offsets {
620
619
// positive offset
621
620
let time = Utc . timestamp_opt ( offset, 0 ) . unwrap ( ) ;
622
- let dt = parse_datetime ( format ! ( "@{}" , offset ) ) ;
621
+ let dt = parse_datetime ( format ! ( "@{offset}" ) ) ;
623
622
assert_eq ! ( dt. unwrap( ) , time) ;
624
623
625
624
// negative offset
626
625
let time = Utc . timestamp_opt ( -offset, 0 ) . unwrap ( ) ;
627
- let dt = parse_datetime ( format ! ( "@-{}" , offset ) ) ;
626
+ let dt = parse_datetime ( format ! ( "@-{offset}" ) ) ;
628
627
assert_eq ! ( dt. unwrap( ) , time) ;
629
628
}
630
629
}
@@ -642,7 +641,7 @@ mod tests {
642
641
let parsed_time = parse_datetime_at_date ( test_date, "9:04:30 PM +0530" )
643
642
. unwrap ( )
644
643
. timestamp ( ) ;
645
- assert_eq ! ( parsed_time, 1709480070 )
644
+ assert_eq ! ( parsed_time, 1709480070 ) ;
646
645
}
647
646
}
648
647
/// Used to test example code presented in the README.
@@ -862,9 +861,10 @@ mod tests {
862
861
let now = Local :: now ( ) ;
863
862
let midnight = NaiveTime :: from_hms_opt ( 0 , 0 , 0 ) . unwrap ( ) ;
864
863
let today = now. weekday ( ) ;
865
- let midnight_today = match now. with_time ( midnight) {
866
- MappedLocalTime :: Single ( t) => t,
867
- _ => panic ! ( ) ,
864
+ let midnight_today = if let MappedLocalTime :: Single ( t) = now. with_time ( midnight) {
865
+ t
866
+ } else {
867
+ panic ! ( )
868
868
} ;
869
869
870
870
for ( s, day) in [
@@ -877,7 +877,7 @@ mod tests {
877
877
( "saturday" , Weekday :: Sat ) ,
878
878
] {
879
879
let actual = crate :: parse_datetime ( s) . unwrap ( ) ;
880
- let delta = Days :: new ( day. days_since ( today) as u64 ) ;
880
+ let delta = Days :: new ( u64 :: from ( day. days_since ( today) ) ) ;
881
881
let expected = midnight_today. checked_add_days ( delta) . unwrap ( ) ;
882
882
assert_eq ! ( actual, expected) ;
883
883
}
0 commit comments