From 7fcde1f7a30138544f8ad1b279c5e4047e643831 Mon Sep 17 00:00:00 2001 From: Mukilan Thiyagarajan Date: Thu, 12 Dec 2024 12:56:16 +0530 Subject: [PATCH] build: upgrade rustc to 1.81.0 (#34270) Signed-off-by: Mukilan Thiyagarajan --- .github/workflows/lint.yml | 2 -- Cargo.toml | 2 +- components/layout_2020/dom_traversal.rs | 3 +-- components/layout_2020/flow/inline/construct.rs | 3 +-- components/net/image_cache.rs | 3 +-- components/net/storage_thread.rs | 3 +-- components/script/body.rs | 6 +----- components/script/textinput.rs | 2 +- ports/servoshell/parser.rs | 3 +-- python/servo/platform/base.py | 3 +-- rust-toolchain.toml | 2 +- shell.nix | 2 +- support/crown/Cargo.lock | 4 ++-- support/crown/rust-toolchain.toml | 2 +- support/crown/tests/compile_test.rs | 2 ++ 15 files changed, 16 insertions(+), 26 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1d900e1c7bb..169a98eeca7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -44,8 +44,6 @@ jobs: with: crate: cargo-deny locked: true - # 0.16.2 requires Rust 1.81 or newer. - version: '0.16.1' - name: Bootstrap Python run: python3 -m pip install --upgrade pip - name: Bootstrap dependencies diff --git a/Cargo.toml b/Cargo.toml index 4b7b4bcc88e..cbc019d3f69 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ authors = ["The Servo Project Developers"] license = "MPL-2.0" edition = "2021" publish = false -rust-version = "1.80.1" +rust-version = "1.81.0" [workspace.dependencies] accountable-refcell = "0.2.0" diff --git a/components/layout_2020/dom_traversal.rs b/components/layout_2020/dom_traversal.rs index 2c532e2ebc4..3966edea383 100644 --- a/components/layout_2020/dom_traversal.rs +++ b/components/layout_2020/dom_traversal.rs @@ -448,9 +448,8 @@ where { let mut next = parent.first_child(); std::iter::from_fn(move || { - next.map(|child| { + next.inspect(|child| { next = child.next_sibling(); - child }) }) } diff --git a/components/layout_2020/flow/inline/construct.rs b/components/layout_2020/flow/inline/construct.rs index 58a5ae87887..f87cba344ec 100644 --- a/components/layout_2020/flow/inline/construct.rs +++ b/components/layout_2020/flow/inline/construct.rs @@ -232,13 +232,12 @@ impl InlineFormattingContextBuilder { let white_space_collapse = info.style.clone_white_space_collapse(); let new_text: String = char_iterator - .map(|character| { + .inspect(|&character| { self.has_uncollapsible_text_content |= matches!( white_space_collapse, WhiteSpaceCollapse::Preserve | WhiteSpaceCollapse::BreakSpaces ) || !character.is_ascii_whitespace() || (character == '\n' && white_space_collapse != WhiteSpaceCollapse::Collapse); - character }) .collect(); diff --git a/components/net/image_cache.rs b/components/net/image_cache.rs index d09d274948c..71e41ab59e2 100644 --- a/components/net/image_cache.rs +++ b/components/net/image_cache.rs @@ -125,7 +125,7 @@ impl AllPendingLoads { } fn remove(&mut self, key: &LoadKey) -> Option { - self.loads.remove(key).map(|pending_load| { + self.loads.remove(key).inspect(|pending_load| { self.url_to_load_key .remove(&( pending_load.url.clone(), @@ -133,7 +133,6 @@ impl AllPendingLoads { pending_load.cors_setting, )) .unwrap(); - pending_load }) } diff --git a/components/net/storage_thread.rs b/components/net/storage_thread.rs index 1399cc50ea1..fdd29953b9f 100644 --- a/components/net/storage_thread.rs +++ b/components/net/storage_thread.rs @@ -244,9 +244,8 @@ impl StorageManager { let old_value = data .get_mut(&origin) .and_then(|&mut (ref mut total, ref mut entry)| { - entry.remove(&name).map(|old| { + entry.remove(&name).inspect(|old| { *total -= name.as_bytes().len() + old.as_bytes().len(); - old }) }); sender.send(old_value).unwrap(); diff --git a/components/script/body.rs b/components/script/body.rs index 32a590dd517..6d7dea4c0ad 100644 --- a/components/script/body.rs +++ b/components/script/body.rs @@ -873,11 +873,7 @@ fn run_form_data_algorithm( mime: &[u8], can_gc: CanGc, ) -> Fallible { - let mime_str = if let Ok(s) = str::from_utf8(mime) { - s - } else { - "" - }; + let mime_str = str::from_utf8(mime).unwrap_or_default(); let mime: Mime = mime_str .parse() .map_err(|_| Error::Type("Inappropriate MIME-type for Body".to_string()))?; diff --git a/components/script/textinput.rs b/components/script/textinput.rs index 82f1c6c9447..38fbf3543d1 100644 --- a/components/script/textinput.rs +++ b/components/script/textinput.rs @@ -1037,7 +1037,7 @@ impl TextInput { // https://html.spec.whatwg.org/multipage/#textarea-line-break-normalisation-transformation content .replace("\r\n", "\n") - .split(|c| c == '\n' || c == '\r') + .split(['\n', '\r']) .map(DOMString::from) .collect() } else { diff --git a/ports/servoshell/parser.rs b/ports/servoshell/parser.rs index aba9818093f..e1635b0f8fc 100644 --- a/ports/servoshell/parser.rs +++ b/ports/servoshell/parser.rs @@ -31,9 +31,8 @@ pub fn get_default_url( let mut new_url = None; let cmdline_url = url_opt.map(|s| s.to_string()).and_then(|url_string| { parse_url_or_filename(cwd.as_ref(), &url_string) - .map_err(|error| { + .inspect_err(|&error| { log::warn!("URL parsing failed ({:?}).", error); - error }) .ok() }); diff --git a/python/servo/platform/base.py b/python/servo/platform/base.py index b328b41a0d9..6fb2f535f4e 100644 --- a/python/servo/platform/base.py +++ b/python/servo/platform/base.py @@ -83,8 +83,7 @@ class Base: return False print(" * Installing cargo-deny...") - # cargo-deny 0.16.2 requires Rust 1.81. - if subprocess.call(["cargo", "install", "cargo-deny", "--locked", "--version", "0.16.1"]) != 0: + if subprocess.call(["cargo", "install", "cargo-deny", "--locked"]) != 0: raise EnvironmentError("Installation of cargo-deny failed.") return True diff --git a/rust-toolchain.toml b/rust-toolchain.toml index c4007792f41..337b1230b9b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,6 @@ [toolchain] # Be sure to update shell.nix and support/crown/rust-toolchain.toml when bumping this! -channel = "1.80.1" +channel = "1.81.0" components = [ "clippy", diff --git a/shell.nix b/shell.nix index 2576e0e454f..1a5ffa33bd4 100644 --- a/shell.nix +++ b/shell.nix @@ -10,7 +10,7 @@ with import (builtins.fetchTarball { overlays = [ (import (builtins.fetchTarball { # Bumped the channel in rust-toolchain.toml? Bump this commit too! - url = "https://github.com/oxalica/rust-overlay/archive/65e3dc0fe079fe8df087cd38f1fe6836a0373aad.tar.gz"; + url = "https://github.com/oxalica/rust-overlay/archive/0be641045af6d8666c11c2c40e45ffc9667839b5.tar.gz"; })) ]; config = { diff --git a/support/crown/Cargo.lock b/support/crown/Cargo.lock index b44fee0c3c8..08edd55de21 100644 --- a/support/crown/Cargo.lock +++ b/support/crown/Cargo.lock @@ -25,9 +25,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "compiletest_rs" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fcc3c0c91b59c137b3cf8073cbc2f72a49b3d5505660ec88f94da3ed4bb1de" +checksum = "f150fe9105fcd2a57cad53f0c079a24de65195903ef670990f5909f695eac04c" dependencies = [ "diff", "filetime", diff --git a/support/crown/rust-toolchain.toml b/support/crown/rust-toolchain.toml index 2d13bc995bc..476596984ee 100644 --- a/support/crown/rust-toolchain.toml +++ b/support/crown/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.80.1" +channel = "1.81.0" components = [ "clippy", diff --git a/support/crown/tests/compile_test.rs b/support/crown/tests/compile_test.rs index 6cefdd2d5b5..5a87301d227 100644 --- a/support/crown/tests/compile_test.rs +++ b/support/crown/tests/compile_test.rs @@ -35,6 +35,8 @@ fn run_mode(mode: &'static str, bless: bool) { // Does not work reliably: https://github.com/servo/servo/pull/30508#issuecomment-1834542203 //config.link_deps(); config.strict_headers = true; + // See https://github.com/Manishearth/compiletest-rs/issues/295 + config.compile_test_exit_code = Some(101); compiletest::run_tests(&config); }