From 20800a8494ad6d81f4d3fe58725862eea2b31bfb Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 29 May 2020 21:56:46 -0700 Subject: [PATCH 1/4] Remove build script declaration Since 1.17 cargo assumes a file called build.rs is a build script. --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 856fe8c..3f6109d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,6 @@ description = "Fast floating point to string conversion" repository = "https://github.com/dtolnay/ryu" documentation = "https://docs.rs/ryu" readme = "README.md" -build = "build.rs" edition = "2018" [features] From 1f1b596b093d7cb7864be0ba8620a0a5bd9dbaab Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 29 May 2020 21:58:27 -0700 Subject: [PATCH 2/4] Use question mark on Option in build script Supported since rust 1.22. --- build.rs | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/build.rs b/build.rs index 7b639e7..b3bc800 100644 --- a/build.rs +++ b/build.rs @@ -37,30 +37,13 @@ fn main() { } fn rustc_minor_version() -> Option { - 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 rustc = env::var_os("RUSTC")?; + let output = Command::new(rustc).arg("--version").output().ok()?; + let version = str::from_utf8(&output.stdout).ok()?; let mut pieces = version.split('.'); if pieces.next() != Some("rustc 1") { return None; } - - let next = match pieces.next() { - Some(next) => next, - None => return None, - }; - + let next = pieces.next()?; u32::from_str(next).ok() } From 1fe240e926c149716bf66a1d778e8c2c02650ad6 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 29 May 2020 22:00:41 -0700 Subject: [PATCH 3/4] Remove check for rustc <1.26 --- build.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build.rs b/build.rs index b3bc800..63e2630 100644 --- a/build.rs +++ b/build.rs @@ -14,12 +14,9 @@ fn main() { let target = env::var("TARGET").unwrap(); let emscripten = target == "asmjs-unknown-emscripten" || target == "wasm32-unknown-emscripten"; - // 128-bit integers stabilized in Rust 1.26: - // https://blog.rust-lang.org/2018/05/10/Rust-1.26.html - // - // Disabled on Emscripten targets as Emscripten doesn't + // 128-bit integers disabled on Emscripten targets as Emscripten doesn't // currently support integers larger than 64 bits. - if minor >= 26 && !emscripten { + if !emscripten { println!("cargo:rustc-cfg=integer128"); } From 5c921c54314435f760cdee8db302b529ed928257 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 29 May 2020 22:01:27 -0700 Subject: [PATCH 4/4] Remove gate on must_use attribute --- build.rs | 6 ------ src/pretty/mod.rs | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/build.rs b/build.rs index 63e2630..f48477a 100644 --- a/build.rs +++ b/build.rs @@ -20,12 +20,6 @@ fn main() { println!("cargo:rustc-cfg=integer128"); } - // #[must_use] on functions stabilized in Rust 1.27: - // https://blog.rust-lang.org/2018/06/21/Rust-1.27.html - if minor >= 27 { - println!("cargo:rustc-cfg=must_use_return"); - } - // MaybeUninit stabilized in Rust 1.36: // https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html if minor >= 36 { diff --git a/src/pretty/mod.rs b/src/pretty/mod.rs index 5eed13c..a82692d 100644 --- a/src/pretty/mod.rs +++ b/src/pretty/mod.rs @@ -47,7 +47,7 @@ use no_panic::no_panic; /// assert_eq!(print, "1.234"); /// } /// ``` -#[cfg_attr(must_use_return, must_use)] +#[must_use] #[cfg_attr(feature = "no-panic", no_panic)] pub unsafe fn format64(f: f64, result: *mut u8) -> usize { let bits = mem::transmute::(f); @@ -154,7 +154,7 @@ pub unsafe fn format64(f: f64, result: *mut u8) -> usize { /// assert_eq!(print, "1.234"); /// } /// ``` -#[cfg_attr(must_use_return, must_use)] +#[must_use] #[cfg_attr(feature = "no-panic", no_panic)] pub unsafe fn format32(f: f32, result: *mut u8) -> usize { let bits = mem::transmute::(f);