Skip to content

Commit 61a2de8

Browse files
committed
Assume 128-bit integer support, since we now require Rust 1.31
1 parent bfa2293 commit 61a2de8

File tree

4 files changed

+12
-48
lines changed

4 files changed

+12
-48
lines changed

Cargo.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ name = "num-derive"
1010
repository = "https://github.com/rust-num/num-derive"
1111
version = "0.3.0"
1212
readme = "README.md"
13-
build = "build.rs"
1413
exclude = ["/ci/*", "/.travis.yml", "/bors.toml"]
1514

1615
[dependencies]
@@ -29,6 +28,3 @@ full-syntax = ["syn/full"]
2928
name = "num_derive"
3029
proc-macro = true
3130
test = false
32-
33-
[build-dependencies]
34-
autocfg = "0.1.2"

build.rs

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/lib.rs

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -177,19 +177,6 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
177177
let name = &ast.ident;
178178

179179
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-
193180
quote! {
194181
impl _num_traits::FromPrimitive for #name {
195182
fn from_i64(n: i64) -> Option<Self> {
@@ -210,6 +197,9 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
210197
fn from_i32(n: i32) -> Option<Self> {
211198
<#inner_ty as _num_traits::FromPrimitive>::from_i32(n).map(#name)
212199
}
200+
fn from_i128(n: i128) -> Option<Self> {
201+
<#inner_ty as _num_traits::FromPrimitive>::from_i128(n).map(#name)
202+
}
213203
fn from_usize(n: usize) -> Option<Self> {
214204
<#inner_ty as _num_traits::FromPrimitive>::from_usize(n).map(#name)
215205
}
@@ -222,13 +212,15 @@ pub fn from_primitive(input: TokenStream) -> TokenStream {
222212
fn from_u32(n: u32) -> Option<Self> {
223213
<#inner_ty as _num_traits::FromPrimitive>::from_u32(n).map(#name)
224214
}
215+
fn from_u128(n: u128) -> Option<Self> {
216+
<#inner_ty as _num_traits::FromPrimitive>::from_u128(n).map(#name)
217+
}
225218
fn from_f32(n: f32) -> Option<Self> {
226219
<#inner_ty as _num_traits::FromPrimitive>::from_f32(n).map(#name)
227220
}
228221
fn from_f64(n: f64) -> Option<Self> {
229222
<#inner_ty as _num_traits::FromPrimitive>::from_f64(n).map(#name)
230223
}
231-
#i128_fns
232224
}
233225
}
234226
} else {
@@ -341,19 +333,6 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
341333
let name = &ast.ident;
342334

343335
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-
357336
quote! {
358337
impl _num_traits::ToPrimitive for #name {
359338
fn to_i64(&self) -> Option<i64> {
@@ -374,6 +353,9 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
374353
fn to_i32(&self) -> Option<i32> {
375354
<#inner_ty as _num_traits::ToPrimitive>::to_i32(&self.0)
376355
}
356+
fn to_i128(&self) -> Option<i128> {
357+
<#inner_ty as _num_traits::ToPrimitive>::to_i128(&self.0)
358+
}
377359
fn to_usize(&self) -> Option<usize> {
378360
<#inner_ty as _num_traits::ToPrimitive>::to_usize(&self.0)
379361
}
@@ -386,13 +368,15 @@ pub fn to_primitive(input: TokenStream) -> TokenStream {
386368
fn to_u32(&self) -> Option<u32> {
387369
<#inner_ty as _num_traits::ToPrimitive>::to_u32(&self.0)
388370
}
371+
fn to_u128(&self) -> Option<u128> {
372+
<#inner_ty as _num_traits::ToPrimitive>::to_u128(&self.0)
373+
}
389374
fn to_f32(&self) -> Option<f32> {
390375
<#inner_ty as _num_traits::ToPrimitive>::to_f32(&self.0)
391376
}
392377
fn to_f64(&self) -> Option<f64> {
393378
<#inner_ty as _num_traits::ToPrimitive>::to_f64(&self.0)
394379
}
395-
#i128_fns
396380
}
397381
}
398382
} else {

tests/newtype.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ fn test_from_primitive() {
3535
}
3636

3737
#[test]
38-
#[cfg(has_i128)]
3938
fn test_from_primitive_128() {
4039
assert_eq!(
4140
MyFloat::from_i128(std::i128::MIN),
@@ -49,7 +48,6 @@ fn test_to_primitive() {
4948
}
5049

5150
#[test]
52-
#[cfg(has_i128)]
5351
fn test_to_primitive_128() {
5452
let f = MyFloat::from_f32(std::f32::MAX).unwrap();
5553
assert_eq!(f.to_i128(), None);

0 commit comments

Comments
 (0)