diff --git a/build/build-rust/rust-vendor-std.patch b/build/build-rust/rust-vendor-std.patch index 11c0f8fc017e..b068f9de5426 100644 --- a/build/build-rust/rust-vendor-std.patch +++ b/build/build-rust/rust-vendor-std.patch @@ -12,10 +12,10 @@ For firefox's purposes, these patches still work fine, and are necessary to make -Zbuild-std work in a vendored environment. diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs -index 6291b204e48..d4c90d29824 100644 +index 3cb0eccd324..a3b8154c024 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -837,6 +837,30 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball { +@@ -905,6 +905,30 @@ fn run(self, builder: &Builder<'_>) -> GeneratedTarball { builder.copy(&builder.src.join(file), &dst_src.join(file)); } @@ -47,17 +47,17 @@ index 6291b204e48..d4c90d29824 100644 } } diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs -index f84de73297a..d584444dfd2 100644 +index 3ed53452309..1fc0d887748 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -1416,6 +1416,27 @@ fn tempdir(&self) -> PathBuf { - tmp +@@ -1437,6 +1437,27 @@ fn read_stamp_file(&self, stamp: &Path) -> Vec<(PathBuf, DependencyType)> { + paths } + /// Copies a file from `src` to `dst` and doesn't use links, so + /// that the copy can be modified without affecting the original. + pub fn really_copy(&self, src: &Path, dst: &Path) { -+ if self.config.dry_run { ++ if self.config.dry_run() { + return; + } + self.verbose_than(1, &format!("Copy {:?} to {:?}", src, dst)); diff --git a/build/build-rust/workaround-bug1797441.patch b/build/build-rust/workaround-bug1797441.patch deleted file mode 100644 index 8068ccf3f305..000000000000 --- a/build/build-rust/workaround-bug1797441.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index dab69341..b6c864b0 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -511,10 +511,6 @@ name = "cfg-if" - version = "1.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" --dependencies = [ -- "compiler_builtins", -- "rustc-std-workspace-core", --] - - [[package]] - name = "chalk-derive" -@@ -4673,7 +4669,7 @@ version = "0.0.0" - dependencies = [ - "addr2line 0.16.0", - "alloc", -- "cfg-if 1.0.0", -+ "cfg-if 0.1.10", - "compiler_builtins", - "core", - "dlmalloc", -@@ -4697,7 +4693,7 @@ dependencies = [ - name = "std_detect" - version = "0.1.5" - dependencies = [ -- "cfg-if 1.0.0", -+ "cfg-if 0.1.10", - "compiler_builtins", - "libc", - "rustc-std-workspace-alloc", -diff --git a/library/std/Cargo.toml b/library/std/Cargo.toml -index bc10b12e..dad1c7ce 100644 ---- a/library/std/Cargo.toml -+++ b/library/std/Cargo.toml -@@ -11,7 +11,7 @@ crate-type = ["dylib", "rlib"] - - [dependencies] - alloc = { path = "../alloc" } --cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] } -+cfg-if = { version = "0.1.8", features = ['rustc-dep-of-std'] } - panic_unwind = { path = "../panic_unwind", optional = true } - panic_abort = { path = "../panic_abort" } - core = { path = "../core" } -Submodule library/stdarch contains modified content -diff --git a/library/stdarch/crates/std_detect/Cargo.toml b/library/stdarch/crates/std_detect/Cargo.toml -index 3a48256..d021cbc 100644 ---- a/library/stdarch/crates/std_detect/Cargo.toml -+++ b/library/stdarch/crates/std_detect/Cargo.toml -@@ -22,7 +22,7 @@ maintenance = { status = "experimental" } - - [dependencies] - libc = { version = "0.2", optional = true, default-features = false } --cfg-if = "1.0.0" -+cfg-if = "0.1" - - # When built as part of libstd - core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" } diff --git a/docs/writing-rust-code/update-policy.md b/docs/writing-rust-code/update-policy.md index 027d6396a8a7..45d631a1de12 100644 --- a/docs/writing-rust-code/update-policy.md +++ b/docs/writing-rust-code/update-policy.md @@ -136,8 +136,8 @@ Here are the Rust versions for each Firefox version. | Firefox 107 | Rust 1.64.0 | 1.61.0 | 2022 September 22 | 2022 October 13 | 2022 November 15 | Firefox 108 | Rust 1.65.0 | 1.63.0 | 2022 November 3 | 2022 November 10 | 2022 December 13 | Firefox 109 | Rust 1.65.0 | 1.63.0 | 2022 November 3 | 2022 December 8 | 2023 January 17 +| Firefox 110 | Rust 1.66.0 | 1.65.0 | 2022 December 15 | 2023 January 12 | 2023 February 14 | **Estimated** | -| Firefox 110 | Rust 1.66.0 | 1.65.0 | 2022 December 15 | 2023 January 5 | 2023 February 14 | Firefox 111 | Rust 1.67.0 | ? | 2022 January 26 | 2023 February 9 | 2023 March 14 | Firefox 112 | Rust 1.67.0 | ? | 2022 January 26 | 2023 March 9 | 2023 April 11 | Firefox 113 | Rust 1.68.0 | ? | 2022 March 9 | 2023 April 6 | 2023 May 9 diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/ci/fetch/toolchains.yml index 7f90b253b6a4..803edd3115fa 100644 --- a/taskcluster/ci/fetch/toolchains.yml +++ b/taskcluster/ci/fetch/toolchains.yml @@ -378,13 +378,13 @@ clang-trunk: # We build stable rust from source so the resulting compiler acts as a nightly # rust compiler, allowing to use unstable features like -Zbuild-std and # sanitizers. -rust-1.66.0: - description: Rust 1.66.0 source code +rust-1.67.0: + description: Rust 1.67.0 source code fetch: type: git include-dot-git: true repo: https://github.com/rust-lang/rust/ - revision: 69f9c33d71c871fc16ac445211281c6e7a340943 + revision: fc594f15669680fa70d255faec3ca3fb507c3405 wasi-sdk: description: wasi-sdk-16 source code diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/ci/toolchain/dump-syms.yml index cd7519ac5d0b..56b6f28ed48e 100644 --- a/taskcluster/ci/toolchain/dump-syms.yml +++ b/taskcluster/ci/toolchain/dump-syms.yml @@ -24,7 +24,7 @@ linux64-dump_syms: fetches: toolchain: - linux64-clang-toolchain - - linux64-rust-1.66 + - linux64-rust-1.67 - sysroot-x86_64-linux-gnu macosx64-dump_syms: @@ -35,7 +35,7 @@ macosx64-dump_syms: arguments: ['x86_64-apple-darwin'] fetches: toolchain: - - linux64-rust-macos-1.66 + - linux64-rust-macos-1.67 - linux64-clang-toolchain - linux64-cctools-port - macosx64-sdk-toolchain @@ -47,7 +47,7 @@ macosx64-aarch64-dump_syms: arguments: ['aarch64-apple-darwin'] fetches: toolchain: - - linux64-rust-macos-1.66 + - linux64-rust-macos-1.67 - linux64-clang-toolchain - linux64-cctools-port - macosx64-sdk-toolchain @@ -60,5 +60,5 @@ win64-dump_syms: fetches: toolchain: - linux64-clang-toolchain - - linux64-rust-windows-1.66 + - linux64-rust-windows-1.67 - win64-vs2017 diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml index 51199af2e7ca..6be28f6a68f0 100644 --- a/taskcluster/ci/toolchain/rust.yml +++ b/taskcluster/ci/toolchain/rust.yml @@ -26,12 +26,12 @@ linux64-rust-1.65: - linux64-rust-base - linux64-rust-toolchain -linux64-rust-1.66: +linux64-rust-1.67: treeherder: symbol: TL(rust) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', @@ -49,7 +49,7 @@ linux64-rust-beta: symbol: TL(rust-beta) run: arguments: [ - '--channel', 'beta-2022-12-14', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', @@ -77,24 +77,23 @@ linux64-rust-dev: arguments: [ '--patch', 'rust-vendor-std.patch', '--patch', 'src/tools/cargo:cargo-vendor-std.patch', - '--patch', 'workaround-bug1797441.patch', '--channel', 'dev', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', ] fetches: fetch: - - rust-1.66.0 + - rust-1.67.0 toolchain: - linux64-clang-toolchain -linux64-rust-cross-1.66: +linux64-rust-cross-1.67: description: "rust repack with macos and windows cross support" treeherder: symbol: TL(rust-cross) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', @@ -133,13 +132,13 @@ linux64-rust-cross-beta: '--target', 'x86_64-linux-android', ] -linux64-rust-static-1.66: +linux64-rust-static-1.67: description: "rust repack with static linking support" treeherder: symbol: TL(rust-static) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'aarch64-unknown-linux-musl', '--target', 'x86_64-unknown-linux-gnu', @@ -163,13 +162,13 @@ linux64-rust-macos-1.61: ] toolchain-alias: linux64-rust-macos-toolchain -linux64-rust-macos-1.66: +linux64-rust-macos-1.67: description: "rust repack with macos-cross support" treeherder: symbol: TL(rust-macos) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-apple-darwin', @@ -177,13 +176,13 @@ linux64-rust-macos-1.66: ] toolchain-alias: linux64-rust-macos -linux64-rust-android-1.66: +linux64-rust-android-1.67: description: "rust repack with android-cross support" treeherder: symbol: TL(rust-android) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'armv7-linux-androideabi', @@ -212,13 +211,13 @@ linux64-rust-windows-1.61: ] toolchain-alias: linux64-rust-windows-toolchain -linux64-rust-windows-1.66: +linux64-rust-windows-1.67: description: "rust repack with windows-cross support" treeherder: symbol: TL(rust-win) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-pc-windows-msvc', @@ -227,12 +226,12 @@ linux64-rust-windows-1.66: ] toolchain-alias: linux64-rust-windows -win64-rust-1.66: +win64-rust-1.67: treeherder: symbol: TW64(rust) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-pc-windows-msvc', '--target', 'x86_64-pc-windows-msvc', '--target', 'i686-pc-windows-msvc', @@ -240,23 +239,23 @@ win64-rust-1.66: ] toolchain-alias: win64-rust -macosx64-rust-1.66: +macosx64-rust-1.67: treeherder: symbol: TM(rust) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-apple-darwin', '--target', 'x86_64-apple-darwin', ] toolchain-alias: macosx64-rust -mingw32-rust-1.66: +mingw32-rust-1.67: treeherder: symbol: TMW(rust) run: arguments: [ - '--channel', '1.66.0', + '--channel', '1.67.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', '--target', 'i686-pc-windows-gnu',