@@ -470,6 +470,12 @@ impl<T: NumCast> NumCast for OrderedFloat<T> {
470
470
}
471
471
472
472
macro_rules! impl_as_primitive {
473
+ ( @ ( $T: ty) => $( #[ $cfg: meta] ) * impl ( NotNan <$U: ty>) ) => {
474
+ $( #[ $cfg] ) *
475
+ impl AsPrimitive <NotNan <$U>> for $T {
476
+ #[ inline] fn as_( self ) -> NotNan <$U> { NotNan ( self as $U) }
477
+ }
478
+ } ;
473
479
( @ ( OrderedFloat <$T: ty>) => $( #[ $cfg: meta] ) * impl ( OrderedFloat <$U: ty>) ) => {
474
480
$( #[ $cfg] ) *
475
481
impl AsPrimitive <OrderedFloat <$U>> for OrderedFloat <$T> {
@@ -509,6 +515,17 @@ impl_as_primitive!((isize) => { (OrderedFloat<f32>), (OrderedFloat<f64>) });
509
515
impl_as_primitive ! ( ( f32 ) => { ( OrderedFloat <f32 >) , ( OrderedFloat <f64 >) } ) ;
510
516
impl_as_primitive ! ( ( f64 ) => { ( OrderedFloat <f32 >) , ( OrderedFloat <f64 >) } ) ;
511
517
518
+ impl_as_primitive ! ( ( u8 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
519
+ impl_as_primitive ! ( ( i8 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
520
+ impl_as_primitive ! ( ( u16 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
521
+ impl_as_primitive ! ( ( i16 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
522
+ impl_as_primitive ! ( ( u32 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
523
+ impl_as_primitive ! ( ( i32 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
524
+ impl_as_primitive ! ( ( u64 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
525
+ impl_as_primitive ! ( ( i64 ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
526
+ impl_as_primitive ! ( ( usize ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
527
+ impl_as_primitive ! ( ( isize ) => { ( NotNan <f32 >) , ( NotNan <f64 >) } ) ;
528
+
512
529
impl_as_primitive ! ( ( OrderedFloat <f32 >) => { ( u8 ) , ( u16 ) , ( u32 ) , ( u64 ) , ( usize ) , ( i8 ) , ( i16 ) , ( i32 ) , ( i64 ) , ( isize ) , ( f32 ) , ( f64 ) } ) ;
513
530
impl_as_primitive ! ( ( OrderedFloat <f64 >) => { ( u8 ) , ( u16 ) , ( u32 ) , ( u64 ) , ( usize ) , ( i8 ) , ( i16 ) , ( i32 ) , ( i64 ) , ( isize ) , ( f32 ) , ( f64 ) } ) ;
514
531
0 commit comments