@@ -416,8 +416,12 @@ pub trait ToFromSlice {
416416impl ToFromSlice for DateTime {
417417 fn to_slice ( & self ) -> Slice {
418418 let mut arr = [ 0u8 ; 12 ] ;
419- * & mut arr[ 0 ..8 ] . copy_from_slice ( & self . seconds . to_be_bytes ( ) ) ;
420- * & mut arr[ 8 ..12 ] . copy_from_slice ( & self . nanoseconds . to_be_bytes ( ) ) ;
419+ let secs_bytes = self . seconds . to_be_bytes ( ) ;
420+ let nanos_bytes = self . nanoseconds . to_be_bytes ( ) ;
421+
422+ arr[ ..8 ] . copy_from_slice ( & secs_bytes) ;
423+ arr[ 8 ..12 ] . copy_from_slice ( & nanos_bytes) ;
424+
421425 Slice :: new ( & arr)
422426 }
423427
@@ -553,11 +557,7 @@ mod tests {
553557 let mut db: MeaDb < DateTime , String > = MeaDb :: open ( & path) . await . unwrap ( ) ;
554558
555559 let series = "sensor_data" ;
556- let seconds = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . unix_timestamp ( ) ;
557- let timestamp = DateTime {
558- seconds : seconds as u64 ,
559- nanoseconds : 0 ,
560- } ;
560+ let timestamp = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . try_into ( ) . unwrap ( ) ;
561561 let message = "temp: 25C" . to_string ( ) ;
562562
563563 let result = db. store ( series, timestamp, message. clone ( ) ) . await ;
@@ -575,23 +575,11 @@ mod tests {
575575 let mut db: MeaDb < DateTime , String > = MeaDb :: open ( & path) . await . unwrap ( ) ;
576576
577577 let series = "sensor_data" . to_string ( ) ;
578- let ts1 = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . unix_timestamp ( ) ;
579- let ts1 = DateTime {
580- seconds : ts1 as u64 ,
581- nanoseconds : 0 ,
582- } ;
578+ let ts1 = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . try_into ( ) . unwrap ( ) ;
583579 let msg1 = "temp: 25C" . to_string ( ) ;
584- let ts2 = datetime ! ( 2023 -01 -01 10 : 05 UTC ) . unix_timestamp ( ) ;
585- let ts2 = DateTime {
586- seconds : ts2 as u64 ,
587- nanoseconds : 0 ,
588- } ;
580+ let ts2 = datetime ! ( 2023 -01 -01 10 : 05 UTC ) . try_into ( ) . unwrap ( ) ;
589581 let msg2 = "temp: 26C" . to_string ( ) ;
590- let ts3 = datetime ! ( 2023 -01 -01 09 : 55 UTC ) . unix_timestamp ( ) ;
591- let ts3 = DateTime {
592- seconds : ts3 as u64 ,
593- nanoseconds : 0 ,
594- } ;
582+ let ts3 = datetime ! ( 2023 -01 -01 09 : 55 UTC ) . try_into ( ) . unwrap ( ) ;
595583 let msg3 = "temp: 24C" . to_string ( ) ;
596584
597585 db. store ( & series, ts1, msg1. clone ( ) ) . await . unwrap ( ) ;
@@ -613,19 +601,11 @@ mod tests {
613601 let mut db: MeaDb < DateTime , String > = MeaDb :: open ( & path) . await . unwrap ( ) ;
614602
615603 let series1 = "sensor_data_a" . to_string ( ) ;
616- let ts1 = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . unix_timestamp ( ) ;
617- let ts1 = DateTime {
618- seconds : ts1 as u64 ,
619- nanoseconds : 0 ,
620- } ;
604+ let ts1 = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . try_into ( ) . unwrap ( ) ;
621605 let msg1 = "data A1" . to_string ( ) ;
622606
623607 let series2 = "sensor_data_b" . to_string ( ) ;
624- let ts2 = datetime ! ( 2023 -01 -01 10 : 01 UTC ) . unix_timestamp ( ) ;
625- let ts2 = DateTime {
626- seconds : ts2 as u64 ,
627- nanoseconds : 0 ,
628- } ;
608+ let ts2 = datetime ! ( 2023 -01 -01 10 : 01 UTC ) . try_into ( ) . unwrap ( ) ;
629609 let msg2 = "data B1" . to_string ( ) ;
630610
631611 db. store ( & series1, ts1, msg1. clone ( ) ) . await . unwrap ( ) ;
@@ -643,11 +623,7 @@ mod tests {
643623 let mut db: MeaDb < DateTime , String > = MeaDb :: open ( & path) . await . unwrap ( ) ;
644624
645625 let series = "sensor_data_a" . to_string ( ) ;
646- let timestamp = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . unix_timestamp ( ) ;
647- let timestamp = DateTime {
648- seconds : timestamp as u64 ,
649- nanoseconds : 0 ,
650- } ;
626+ let timestamp = datetime ! ( 2023 -01 -01 10 : 00 UTC ) . try_into ( ) . unwrap ( ) ;
651627 let msg = "data A1" . to_string ( ) ;
652628
653629 db. store ( & series, timestamp, msg. clone ( ) ) . await . unwrap ( ) ;
0 commit comments