@@ -110,37 +110,29 @@ pub trait NumCast {
110
110
111
111
macro_rules! impl_num_cast(
112
112
( $T: ty, $conv: ident) => (
113
- // FIXME #4375: This enclosing module is necessary because
114
- // of a bug with macros expanding into multiple items
115
- pub mod $conv {
116
- use num:: NumCast ;
117
-
118
- #[ cfg( notest) ]
119
- impl NumCast for $T {
120
- #[ doc = "Cast `n` to a `$T`" ]
121
- #[ inline( always) ]
122
- fn from<N : NumCast >( n: N ) -> $T {
123
- // `$conv` could be generated using `concat_idents!`, but that
124
- // macro seems to be broken at the moment
125
- n. $conv( )
126
- }
127
-
128
- #[ inline( always) ] fn to_u8( & self ) -> u8 { * self as u8 }
129
- #[ inline( always) ] fn to_u16( & self ) -> u16 { * self as u16 }
130
- #[ inline( always) ] fn to_u32( & self ) -> u32 { * self as u32 }
131
- #[ inline( always) ] fn to_u64( & self ) -> u64 { * self as u64 }
132
- #[ inline( always) ] fn to_uint( & self ) -> uint { * self as uint }
133
-
134
- #[ inline( always) ] fn to_i8( & self ) -> i8 { * self as i8 }
135
- #[ inline( always) ] fn to_i16( & self ) -> i16 { * self as i16 }
136
- #[ inline( always) ] fn to_i32( & self ) -> i32 { * self as i32 }
137
- #[ inline( always) ] fn to_i64( & self ) -> i64 { * self as i64 }
138
- #[ inline( always) ] fn to_int( & self ) -> int { * self as int }
139
-
140
- #[ inline( always) ] fn to_f32( & self ) -> f32 { * self as f32 }
141
- #[ inline( always) ] fn to_f64( & self ) -> f64 { * self as f64 }
142
- #[ inline( always) ] fn to_float( & self ) -> float { * self as float }
113
+ impl NumCast for $T {
114
+ #[ inline( always) ]
115
+ fn from<N : NumCast >( n: N ) -> $T {
116
+ // `$conv` could be generated using `concat_idents!`, but that
117
+ // macro seems to be broken at the moment
118
+ n. $conv( )
143
119
}
120
+
121
+ #[ inline( always) ] fn to_u8( & self ) -> u8 { * self as u8 }
122
+ #[ inline( always) ] fn to_u16( & self ) -> u16 { * self as u16 }
123
+ #[ inline( always) ] fn to_u32( & self ) -> u32 { * self as u32 }
124
+ #[ inline( always) ] fn to_u64( & self ) -> u64 { * self as u64 }
125
+ #[ inline( always) ] fn to_uint( & self ) -> uint { * self as uint }
126
+
127
+ #[ inline( always) ] fn to_i8( & self ) -> i8 { * self as i8 }
128
+ #[ inline( always) ] fn to_i16( & self ) -> i16 { * self as i16 }
129
+ #[ inline( always) ] fn to_i32( & self ) -> i32 { * self as i32 }
130
+ #[ inline( always) ] fn to_i64( & self ) -> i64 { * self as i64 }
131
+ #[ inline( always) ] fn to_int( & self ) -> int { * self as int }
132
+
133
+ #[ inline( always) ] fn to_f32( & self ) -> f32 { * self as f32 }
134
+ #[ inline( always) ] fn to_f64( & self ) -> f64 { * self as f64 }
135
+ #[ inline( always) ] fn to_float( & self ) -> float { * self as float }
144
136
}
145
137
)
146
138
)
0 commit comments