@@ -177,19 +177,6 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
177
177
let name = & ast. ident ;
178
178
179
179
let impl_ = if let Some ( inner_ty) = newtype_inner ( & ast. data ) {
180
- let i128_fns = if cfg ! ( has_i128) {
181
- quote ! {
182
- fn from_i128( n: i128 ) -> Option <Self > {
183
- <#inner_ty as _num_traits:: FromPrimitive >:: from_i128( n) . map( #name)
184
- }
185
- fn from_u128( n: u128 ) -> Option <Self > {
186
- <#inner_ty as _num_traits:: FromPrimitive >:: from_u128( n) . map( #name)
187
- }
188
- }
189
- } else {
190
- quote ! { }
191
- } ;
192
-
193
180
quote ! {
194
181
impl _num_traits:: FromPrimitive for #name {
195
182
fn from_i64( n: i64 ) -> Option <Self > {
@@ -210,6 +197,9 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
210
197
fn from_i32( n: i32 ) -> Option <Self > {
211
198
<#inner_ty as _num_traits:: FromPrimitive >:: from_i32( n) . map( #name)
212
199
}
200
+ fn from_i128( n: i128 ) -> Option <Self > {
201
+ <#inner_ty as _num_traits:: FromPrimitive >:: from_i128( n) . map( #name)
202
+ }
213
203
fn from_usize( n: usize ) -> Option <Self > {
214
204
<#inner_ty as _num_traits:: FromPrimitive >:: from_usize( n) . map( #name)
215
205
}
@@ -222,13 +212,15 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
222
212
fn from_u32( n: u32 ) -> Option <Self > {
223
213
<#inner_ty as _num_traits:: FromPrimitive >:: from_u32( n) . map( #name)
224
214
}
215
+ fn from_u128( n: u128 ) -> Option <Self > {
216
+ <#inner_ty as _num_traits:: FromPrimitive >:: from_u128( n) . map( #name)
217
+ }
225
218
fn from_f32( n: f32 ) -> Option <Self > {
226
219
<#inner_ty as _num_traits:: FromPrimitive >:: from_f32( n) . map( #name)
227
220
}
228
221
fn from_f64( n: f64 ) -> Option <Self > {
229
222
<#inner_ty as _num_traits:: FromPrimitive >:: from_f64( n) . map( #name)
230
223
}
231
- #i128_fns
232
224
}
233
225
}
234
226
} else {
@@ -341,19 +333,6 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
341
333
let name = & ast. ident ;
342
334
343
335
let impl_ = if let Some ( inner_ty) = newtype_inner ( & ast. data ) {
344
- let i128_fns = if cfg ! ( has_i128) {
345
- quote ! {
346
- fn to_i128( & self ) -> Option <i128 > {
347
- <#inner_ty as _num_traits:: ToPrimitive >:: to_i128( & self . 0 )
348
- }
349
- fn to_u128( & self ) -> Option <u128 > {
350
- <#inner_ty as _num_traits:: ToPrimitive >:: to_u128( & self . 0 )
351
- }
352
- }
353
- } else {
354
- quote ! { }
355
- } ;
356
-
357
336
quote ! {
358
337
impl _num_traits:: ToPrimitive for #name {
359
338
fn to_i64( & self ) -> Option <i64 > {
@@ -374,6 +353,9 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
374
353
fn to_i32( & self ) -> Option <i32 > {
375
354
<#inner_ty as _num_traits:: ToPrimitive >:: to_i32( & self . 0 )
376
355
}
356
+ fn to_i128( & self ) -> Option <i128 > {
357
+ <#inner_ty as _num_traits:: ToPrimitive >:: to_i128( & self . 0 )
358
+ }
377
359
fn to_usize( & self ) -> Option <usize > {
378
360
<#inner_ty as _num_traits:: ToPrimitive >:: to_usize( & self . 0 )
379
361
}
@@ -386,13 +368,15 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
386
368
fn to_u32( & self ) -> Option <u32 > {
387
369
<#inner_ty as _num_traits:: ToPrimitive >:: to_u32( & self . 0 )
388
370
}
371
+ fn to_u128( & self ) -> Option <u128 > {
372
+ <#inner_ty as _num_traits:: ToPrimitive >:: to_u128( & self . 0 )
373
+ }
389
374
fn to_f32( & self ) -> Option <f32 > {
390
375
<#inner_ty as _num_traits:: ToPrimitive >:: to_f32( & self . 0 )
391
376
}
392
377
fn to_f64( & self ) -> Option <f64 > {
393
378
<#inner_ty as _num_traits:: ToPrimitive >:: to_f64( & self . 0 )
394
379
}
395
- #i128_fns
396
380
}
397
381
}
398
382
} else {
0 commit comments