Drop support for compilers without i128
diff --git a/build.rs b/build.rs
deleted file mode 100644
index a0474a4..0000000
--- a/build.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-use std::env;
-use std::process::Command;
-use std::str::{self, FromStr};
-
-// The rustc-cfg strings below are *not* public API. Please let us know by
-// opening a GitHub issue if your build environment requires some way to enable
-// these cfgs other than by executing our build script.
-fn main() {
- let minor = match rustc_minor_version() {
- Some(minor) => minor,
- None => return,
- };
-
- // 128-bit integers stabilized in Rust 1.26:
- // https://blog.rust-lang.org/2018/05/10/Rust-1.26.html
- if minor >= 26 {
- println!("cargo:rustc-cfg=integer128");
- }
-}
-
-fn rustc_minor_version() -> Option<u32> {
- let rustc = match env::var_os("RUSTC") {
- Some(rustc) => rustc,
- None => return None,
- };
-
- let output = match Command::new(rustc).arg("--version").output() {
- Ok(output) => output,
- Err(_) => return None,
- };
-
- let version = match str::from_utf8(&output.stdout) {
- Ok(version) => version,
- Err(_) => return None,
- };
-
- let mut pieces = version.split('.');
- if pieces.next() != Some("rustc 1") {
- return None;
- }
-
- let next = match pieces.next() {
- Some(next) => next,
- None => return None,
- };
-
- u32::from_str(next).ok()
-}
diff --git a/src/ident_fragment.rs b/src/ident_fragment.rs
index a727152..5636455 100644
--- a/src/ident_fragment.rs
+++ b/src/ident_fragment.rs
@@ -69,10 +69,7 @@
}
ident_fragment_display!(bool, str, String);
-ident_fragment_display!(u8, u16, u32, u64, usize);
-
-#[cfg(integer128)]
-ident_fragment_display!(u128);
+ident_fragment_display!(u8, u16, u32, u64, u128, usize);
// XXX: Should we implement `IdentFragment` for signed integers? It's a touch
// inconvenient that the default inferred type for integer literals isn't a
diff --git a/src/to_tokens.rs b/src/to_tokens.rs
index 9d221b2..0f507c8 100644
--- a/src/to_tokens.rs
+++ b/src/to_tokens.rs
@@ -133,24 +133,20 @@
i16 => i16_suffixed
i32 => i32_suffixed
i64 => i64_suffixed
+ i128 => i128_suffixed
isize => isize_suffixed
u8 => u8_suffixed
u16 => u16_suffixed
u32 => u32_suffixed
u64 => u64_suffixed
+ u128 => u128_suffixed
usize => usize_suffixed
f32 => f32_suffixed
f64 => f64_suffixed
}
-#[cfg(integer128)]
-primitive! {
- i128 => i128_suffixed
- u128 => u128_suffixed
-}
-
impl ToTokens for char {
fn to_tokens(&self, tokens: &mut TokenStream) {
tokens.append(Literal::character(*self));
diff --git a/tests/conditional/integer128.rs b/tests/conditional/integer128.rs
deleted file mode 100644
index 61e2274..0000000
--- a/tests/conditional/integer128.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#[test]
-fn test_integer128() {
- let ii128 = -1i128;
- let uu128 = 1u128;
-
- let tokens = quote! {
- #ii128 #uu128
- };
- let expected = "-1i128 1u128";
- assert_eq!(expected, tokens.to_string());
-}
diff --git a/tests/test.rs b/tests/test.rs
index d41079e..1ddd153 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -9,11 +9,6 @@
use proc_macro2::{Ident, Span, TokenStream};
use quote::TokenStreamExt;
-mod conditional {
- #[cfg(integer128)]
- mod integer128;
-}
-
struct X;
impl quote::ToTokens for X {
@@ -125,18 +120,20 @@
let ii16 = -1i16;
let ii32 = -1i32;
let ii64 = -1i64;
+ let ii128 = -1i128;
let iisize = -1isize;
let uu8 = 1u8;
let uu16 = 1u16;
let uu32 = 1u32;
let uu64 = 1u64;
+ let uu128 = 1u128;
let uusize = 1usize;
let tokens = quote! {
- #ii8 #ii16 #ii32 #ii64 #iisize
- #uu8 #uu16 #uu32 #uu64 #uusize
+ #ii8 #ii16 #ii32 #ii64 #ii128 #iisize
+ #uu8 #uu16 #uu32 #uu64 #uu128 #uusize
};
- let expected = "-1i8 -1i16 -1i32 -1i64 -1isize 1u8 1u16 1u32 1u64 1usize";
+ let expected = "-1i8 -1i16 -1i32 -1i64 -1i128 -1isize 1u8 1u16 1u32 1u64 1u128 1usize";
assert_eq!(expected, tokens.to_string());
}