@@ -505,15 +505,14 @@ impl Duration {
505
505
///
506
506
/// # Examples
507
507
/// ```
508
- /// #![feature(duration_float)]
509
508
/// use std::time::Duration;
510
509
///
511
510
/// let dur = Duration::new(2, 700_000_000);
512
511
/// assert_eq!(dur.as_secs_f64(), 2.7);
513
512
/// ```
514
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
513
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
515
514
#[ inline]
516
- pub const fn as_secs_f64 ( & self ) -> f64 {
515
+ pub fn as_secs_f64 ( & self ) -> f64 {
517
516
( self . secs as f64 ) + ( self . nanos as f64 ) / ( NANOS_PER_SEC as f64 )
518
517
}
519
518
@@ -523,15 +522,14 @@ impl Duration {
523
522
///
524
523
/// # Examples
525
524
/// ```
526
- /// #![feature(duration_float)]
527
525
/// use std::time::Duration;
528
526
///
529
527
/// let dur = Duration::new(2, 700_000_000);
530
528
/// assert_eq!(dur.as_secs_f32(), 2.7);
531
529
/// ```
532
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
530
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
533
531
#[ inline]
534
- pub const fn as_secs_f32 ( & self ) -> f32 {
532
+ pub fn as_secs_f32 ( & self ) -> f32 {
535
533
( self . secs as f32 ) + ( self . nanos as f32 ) / ( NANOS_PER_SEC as f32 )
536
534
}
537
535
@@ -543,13 +541,12 @@ impl Duration {
543
541
///
544
542
/// # Examples
545
543
/// ```
546
- /// #![feature(duration_float)]
547
544
/// use std::time::Duration;
548
545
///
549
546
/// let dur = Duration::from_secs_f64(2.7);
550
547
/// assert_eq!(dur, Duration::new(2, 700_000_000));
551
548
/// ```
552
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
549
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
553
550
#[ inline]
554
551
pub fn from_secs_f64 ( secs : f64 ) -> Duration {
555
552
const MAX_NANOS_F64 : f64 =
@@ -579,13 +576,12 @@ impl Duration {
579
576
///
580
577
/// # Examples
581
578
/// ```
582
- /// #![feature(duration_float)]
583
579
/// use std::time::Duration;
584
580
///
585
581
/// let dur = Duration::from_secs_f32(2.7);
586
582
/// assert_eq!(dur, Duration::new(2, 700_000_000));
587
583
/// ```
588
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
584
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
589
585
#[ inline]
590
586
pub fn from_secs_f32 ( secs : f32 ) -> Duration {
591
587
const MAX_NANOS_F32 : f32 =
@@ -614,14 +610,13 @@ impl Duration {
614
610
///
615
611
/// # Examples
616
612
/// ```
617
- /// #![feature(duration_float)]
618
613
/// use std::time::Duration;
619
614
///
620
615
/// let dur = Duration::new(2, 700_000_000);
621
616
/// assert_eq!(dur.mul_f64(3.14), Duration::new(8, 478_000_000));
622
617
/// assert_eq!(dur.mul_f64(3.14e5), Duration::new(847_800, 0));
623
618
/// ```
624
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
619
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
625
620
#[ inline]
626
621
pub fn mul_f64 ( self , rhs : f64 ) -> Duration {
627
622
Duration :: from_secs_f64 ( rhs * self . as_secs_f64 ( ) )
@@ -634,7 +629,6 @@ impl Duration {
634
629
///
635
630
/// # Examples
636
631
/// ```
637
- /// #![feature(duration_float)]
638
632
/// use std::time::Duration;
639
633
///
640
634
/// let dur = Duration::new(2, 700_000_000);
@@ -643,7 +637,7 @@ impl Duration {
643
637
/// assert_eq!(dur.mul_f32(3.14), Duration::new(8, 478_000_640));
644
638
/// assert_eq!(dur.mul_f32(3.14e5), Duration::new(847799, 969_120_256));
645
639
/// ```
646
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
640
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
647
641
#[ inline]
648
642
pub fn mul_f32 ( self , rhs : f32 ) -> Duration {
649
643
Duration :: from_secs_f32 ( rhs * self . as_secs_f32 ( ) )
@@ -656,15 +650,14 @@ impl Duration {
656
650
///
657
651
/// # Examples
658
652
/// ```
659
- /// #![feature(duration_float)]
660
653
/// use std::time::Duration;
661
654
///
662
655
/// let dur = Duration::new(2, 700_000_000);
663
656
/// assert_eq!(dur.div_f64(3.14), Duration::new(0, 859_872_611));
664
657
/// // note that truncation is used, not rounding
665
658
/// assert_eq!(dur.div_f64(3.14e5), Duration::new(0, 8_598));
666
659
/// ```
667
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
660
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
668
661
#[ inline]
669
662
pub fn div_f64 ( self , rhs : f64 ) -> Duration {
670
663
Duration :: from_secs_f64 ( self . as_secs_f64 ( ) / rhs)
@@ -677,7 +670,6 @@ impl Duration {
677
670
///
678
671
/// # Examples
679
672
/// ```
680
- /// #![feature(duration_float)]
681
673
/// use std::time::Duration;
682
674
///
683
675
/// let dur = Duration::new(2, 700_000_000);
@@ -687,7 +679,7 @@ impl Duration {
687
679
/// // note that truncation is used, not rounding
688
680
/// assert_eq!(dur.div_f32(3.14e5), Duration::new(0, 8_598));
689
681
/// ```
690
- #[ unstable ( feature = "duration_float" , issue = "54361 " ) ]
682
+ #[ stable ( feature = "duration_float" , since = "1.38.0 " ) ]
691
683
#[ inline]
692
684
pub fn div_f32 ( self , rhs : f32 ) -> Duration {
693
685
Duration :: from_secs_f32 ( self . as_secs_f32 ( ) / rhs)
@@ -697,14 +689,14 @@ impl Duration {
697
689
///
698
690
/// # Examples
699
691
/// ```
700
- /// #![feature(duration_float )]
692
+ /// #![feature(div_duration )]
701
693
/// use std::time::Duration;
702
694
///
703
695
/// let dur1 = Duration::new(2, 700_000_000);
704
696
/// let dur2 = Duration::new(5, 400_000_000);
705
697
/// assert_eq!(dur1.div_duration_f64(dur2), 0.5);
706
698
/// ```
707
- #[ unstable( feature = "duration_float " , issue = "54361 " ) ]
699
+ #[ unstable( feature = "div_duration " , issue = "63139 " ) ]
708
700
#[ inline]
709
701
pub fn div_duration_f64 ( self , rhs : Duration ) -> f64 {
710
702
self . as_secs_f64 ( ) / rhs. as_secs_f64 ( )
@@ -714,14 +706,14 @@ impl Duration {
714
706
///
715
707
/// # Examples
716
708
/// ```
717
- /// #![feature(duration_float )]
709
+ /// #![feature(div_duration )]
718
710
/// use std::time::Duration;
719
711
///
720
712
/// let dur1 = Duration::new(2, 700_000_000);
721
713
/// let dur2 = Duration::new(5, 400_000_000);
722
714
/// assert_eq!(dur1.div_duration_f32(dur2), 0.5);
723
715
/// ```
724
- #[ unstable( feature = "duration_float " , issue = "54361 " ) ]
716
+ #[ unstable( feature = "div_duration " , issue = "63139 " ) ]
725
717
#[ inline]
726
718
pub fn div_duration_f32 ( self , rhs : Duration ) -> f32 {
727
719
self . as_secs_f32 ( ) / rhs. as_secs_f32 ( )
0 commit comments