From fb9406fa71d5064e02d4a766859ef15c6e59500e Mon Sep 17 00:00:00 2001 From: Zyad Hassan Date: Thu, 27 Mar 2025 13:07:38 -0700 Subject: [PATCH 1/2] Align nightly with stable --- .cargo/config.toml | 2 ++ kani-compiler/src/main.rs | 2 ++ kani-driver/src/call_cargo.rs | 2 ++ kani-driver/src/call_single_file.rs | 2 ++ tests/cargo-ui/verbose-cmds/expected | 2 +- 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index 9bb4e0808345..f0df939ef506 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -20,6 +20,8 @@ KANI_SYSROOT ={value = "target/kani", relative = true} KANI_BUILD_LIBS ={value = "target/build-libs", relative = true} # Build Kani library without `build-std`. KANI_LEGACY_LIBS ={value = "target/legacy-libs", relative = true} +# This is only required for stable but is a no-op for nightly channels +RUSTC_BOOTSTRAP = "1" [target.'cfg(all())'] rustflags = [ # Global lints/warnings. Need to use underscore instead of -. diff --git a/kani-compiler/src/main.rs b/kani-compiler/src/main.rs index c8a56d3ef062..106ad662b3ae 100644 --- a/kani-compiler/src/main.rs +++ b/kani-compiler/src/main.rs @@ -16,6 +16,8 @@ #![feature(f128)] #![feature(f16)] #![feature(non_exhaustive_omitted_patterns_lint)] +#![feature(cfg_version)] +#![cfg_attr(not(version("1.86")), feature(float_next_up_down))] #![feature(try_blocks)] extern crate rustc_abi; extern crate rustc_ast; diff --git a/kani-driver/src/call_cargo.rs b/kani-driver/src/call_cargo.rs index 4c39b03183b6..9097713a0016 100644 --- a/kani-driver/src/call_cargo.rs +++ b/kani-driver/src/call_cargo.rs @@ -206,6 +206,8 @@ crate-type = ["lib"] // Use CARGO_ENCODED_RUSTFLAGS instead of RUSTFLAGS is preferred. See // https://doc.rust-lang.org/cargo/reference/environment-variables.html .env("CARGO_ENCODED_RUSTFLAGS", rustc_args.join(OsStr::new("\x1f"))) + // This is only required for stable but is a no-op for nightly channels + .env("RUSTC_BOOTSTRAP", "1") .env("CARGO_TERM_PROGRESS_WHEN", "never"); match self.run_build_target(cmd, verification_target.target()) { diff --git a/kani-driver/src/call_single_file.rs b/kani-driver/src/call_single_file.rs index 9a09ce6163f8..f21f83345783 100644 --- a/kani-driver/src/call_single_file.rs +++ b/kani-driver/src/call_single_file.rs @@ -84,6 +84,8 @@ impl KaniSession { let mut cmd = Command::new(&self.kani_compiler); let kani_compiler_args = to_rustc_arg(kani_args); cmd.arg(kani_compiler_args).args(rustc_args); + // This is only required for stable but is a no-op for nightly channels + cmd.env("RUSTC_BOOTSTRAP", "1"); if self.args.common_args.quiet { self.run_suppress(cmd)?; diff --git a/tests/cargo-ui/verbose-cmds/expected b/tests/cargo-ui/verbose-cmds/expected index f883ef972cb3..b47b60d51ff4 100644 --- a/tests/cargo-ui/verbose-cmds/expected +++ b/tests/cargo-ui/verbose-cmds/expected @@ -1,5 +1,5 @@ CARGO_ENCODED_RUSTFLAGS= -cargo +nightly +cargo + Running: `goto-cc Running: `goto-instrument Checking harness dummy_harness... From d8d43d9b48f8953c8ae5774bb8679e5e8075bae3 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Fri, 28 Mar 2025 09:16:53 +0100 Subject: [PATCH 2/2] Update kani-compiler/src/main.rs Co-authored-by: Carolyn Zech --- kani-compiler/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/kani-compiler/src/main.rs b/kani-compiler/src/main.rs index 106ad662b3ae..6bf8e549af76 100644 --- a/kani-compiler/src/main.rs +++ b/kani-compiler/src/main.rs @@ -17,6 +17,7 @@ #![feature(f16)] #![feature(non_exhaustive_omitted_patterns_lint)] #![feature(cfg_version)] +// Once the `stable` branch is at 1.86 or later, remove this line, since float_next_up_down is stabilized #![cfg_attr(not(version("1.86")), feature(float_next_up_down))] #![feature(try_blocks)] extern crate rustc_abi;