[INFO] fetching crate rquest 0.20.85... [INFO] checking rquest-0.20.85 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate rquest 0.20.85 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate rquest 0.20.85 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rquest 0.20.85 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rquest 0.20.85 [INFO] tweaked toml for crates.io crate rquest 0.20.85 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate crates.io crate rquest 0.20.85 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9dadabc5a7aa02e361963c511700b3cc19e2dc40c90dc7c4c6ccc8275a08431d [INFO] running `Command { std: "docker" "start" "-a" "9dadabc5a7aa02e361963c511700b3cc19e2dc40c90dc7c4c6ccc8275a08431d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9dadabc5a7aa02e361963c511700b3cc19e2dc40c90dc7c4c6ccc8275a08431d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9dadabc5a7aa02e361963c511700b3cc19e2dc40c90dc7c4c6ccc8275a08431d", kill_on_drop: false }` [INFO] [stdout] 9dadabc5a7aa02e361963c511700b3cc19e2dc40c90dc7c4c6ccc8275a08431d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 361aa29b4d8c28df66cecd851cf77d99b2dd01cefe0ee43c49c565932db02259 [INFO] running `Command { std: "docker" "start" "-a" "361aa29b4d8c28df66cecd851cf77d99b2dd01cefe0ee43c49c565932db02259", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (14 fixes) [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling bindgen v0.68.1 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling cc v1.1.11 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking foreign-types-shared v0.3.1 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling serde v1.0.207 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking indexmap v2.4.0 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling zstd-safe v7.2.1 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking brotli-decompressor v4.0.1 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking rle-decode-fast v1.0.3 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking linked_hash_set v0.1.4 [INFO] [stderr] Checking brotli v6.0.0 [INFO] [stderr] Checking libflate_lz77 v2.1.0 [INFO] [stderr] Checking flate2 v1.0.31 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking dary_heap v0.3.6 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking antidote v1.0.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking libflate v2.1.0 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling foreign-types-macros v0.2.3 [INFO] [stderr] Compiling serde_derive v1.0.207 [INFO] [stderr] Compiling typed-builder-macro v0.19.1 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking foreign-types v0.5.0 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking typed-builder v0.19.1 [INFO] [stderr] Compiling rboring-sys v4.9.1 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking zstd v0.13.2 [INFO] [stderr] Checking rh2 v0.3.31 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking rhyper v0.14.33 [INFO] [stderr] Checking rboring v4.9.1 [INFO] [stderr] Checking tokio-rboring v4.9.1 [INFO] [stderr] Checking rquest v0.20.85 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rquest` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/tls/impersonate/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/tls/impersonate/mod.rs:19:6 [INFO] [stderr] | [INFO] [stderr] 19 | ($ver:expr_2021, $($variant:pat => $path:path),+) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/tls/impersonate/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | ($ver:expr, $($variant:pat => $path:path),+) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ($ver:expr_2021, $($variant:pat => $path:path),+) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / unsafe extern "C" fn brotli_compressor( [INFO] [stdout] 31 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 32 | | out: *mut ffi::CBB, [INFO] [stdout] 33 | | in_: *const u8, [INFO] [stdout] 34 | | in_len: usize, [INFO] [stdout] 35 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | / unsafe extern "C" fn zlib_compressor( [INFO] [stdout] 49 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 50 | | out: *mut ffi::CBB, [INFO] [stdout] 51 | | in_: *const u8, [INFO] [stdout] 52 | | in_len: usize, [INFO] [stdout] 53 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / unsafe extern "C" fn brotli_decompressor( [INFO] [stdout] 68 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 69 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 70 | | uncompressed_len: usize, [INFO] [stdout] 71 | | in_: *const u8, [INFO] [stdout] 72 | | in_len: usize, [INFO] [stdout] 73 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 85 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 86 | | uncompressed.as_ptr(), [INFO] [stdout] 87 | | uncompressed_len, [INFO] [stdout] 88 | | std::ptr::null_mut(), [INFO] [stdout] 89 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | / unsafe extern "C" fn zlib_decompressor( [INFO] [stdout] 97 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 98 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 99 | | uncompressed_len: usize, [INFO] [stdout] 100 | | in_: *const u8, [INFO] [stdout] 101 | | in_len: usize, [INFO] [stdout] 102 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 116 | | uncompressed.as_ptr(), [INFO] [stdout] 117 | | uncompressed_len, [INFO] [stdout] 118 | | std::ptr::null_mut(), [INFO] [stdout] 119 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures_core::Future>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client/client.rs:1337:10 [INFO] [stdout] | [INFO] [stdout] 1337 | ) -> impl Future> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client/client.rs:1335:9 [INFO] [stdout] | [INFO] [stdout] 1335 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1337 | ) -> impl Future> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1355:16 [INFO] [stdout] | [INFO] [stdout] 1355 | if let Entry::Vacant(entry) = headers.entry(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1357:13 [INFO] [stdout] | [INFO] [stdout] 1357 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1355 ~ match headers.entry(key) { Entry::Vacant(entry) => { [INFO] [stdout] 1356 | entry.insert(value.clone()); [INFO] [stdout] 1357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1384:20 [INFO] [stdout] | [INFO] [stdout] 1384 | if let Some(value) = headers.get(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1386:17 [INFO] [stdout] | [INFO] [stdout] 1386 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1384 ~ match headers.get(key) { Some(value) => { [INFO] [stdout] 1385 | sorted_headers.insert(key, value.clone()); [INFO] [stdout] 1386 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1960:28 [INFO] [stdout] | [INFO] [stdout] 1960 | if let Some(referer) = make_referer(&loc, &self.url) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1962:25 [INFO] [stdout] | [INFO] [stdout] 1962 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1960 ~ match make_referer(&loc, &self.url) { Some(referer) => { [INFO] [stdout] 1961 | self.headers.insert(REFERER, referer); [INFO] [stdout] 1962 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/response.rs:279:12 [INFO] [stdout] | [INFO] [stdout] 279 | if let Some(item) = self.res.body_mut().next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/response.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match self.res.body_mut().next().await { Some(item) => { [INFO] [stdout] 280 | Ok(Some(item?)) [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | Ok(None) [INFO] [stdout] 283 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if let MaybeHttpsStream::Https(stream) = io { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ match io { MaybeHttpsStream::Https(stream) => { [INFO] [stdout] 242 | if !self.nodelay { [INFO] [stdout] ... [INFO] [stdout] 250 | }) [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | Ok(Conn { [INFO] [stdout] ... [INFO] [stdout] 256 | }) [INFO] [stdout] 257 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:349:16 [INFO] [stdout] | [INFO] [stdout] 349 | if let Some(proxy_scheme) = prox.intercept(&dst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 349 ~ match prox.intercept(&dst) { Some(proxy_scheme) => { [INFO] [stdout] 350 | return Box::pin(with_timeout( [INFO] [stdout] ... [INFO] [stdout] 353 | )); [INFO] [stdout] 354 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:452:16 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(tls_info) = self.inner.tls_info() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match self.inner.tls_info() { Some(tls_info) => { [INFO] [stdout] 453 | connected.extra(tls_info) [INFO] [stdout] 454 ~ } _ => { [INFO] [stdout] 455 | connected [INFO] [stdout] 456 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proxy.rs:863:15 [INFO] [stdout] | [INFO] [stdout] 863 | } else if let Ok(valid_addr) = addr.into_proxy_scheme() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/proxy.rs:866:5 [INFO] [stdout] | [INFO] [stdout] 866 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 863 ~ } else { match addr.into_proxy_scheme() { Ok(valid_addr) => { [INFO] [stdout] 864 | proxies.insert(scheme.into(), valid_addr); [INFO] [stdout] 865 | true [INFO] [stdout] 866 ~ } _ => { [INFO] [stdout] 867 | false [INFO] [stdout] 868 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/mod.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | if let Some(session) = cache.lock().get(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/mod.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match cache.lock().get(&key) { Some(session) => { [INFO] [stdout] 62 | unsafe { [INFO] [stdout] 63 | conf.set_session(&session)?; [INFO] [stdout] 64 | } [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(hash) = sessions.pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sessions.pop_front() { Some(hash) => { [INFO] [stdout] 65 | self.reverse.remove(&hash); [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | if let Entry::Occupied(mut sessions) = self.sessions.entry(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 95 ~ match self.sessions.entry(key) { Entry::Occupied(mut sessions) => { [INFO] [stdout] 96 | sessions.get_mut().remove(session.id()); [INFO] [stdout] ... [INFO] [stdout] 99 | } [INFO] [stdout] 100 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(password) = password { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 16 ~ match password { Some(password) => { [INFO] [stdout] 17 | let _ = write!(encoder, "{}", password); [INFO] [stdout] 18 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating examples/headers_order.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rquest` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/connect.rs [INFO] [stderr] * src/tls/impersonate/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/connect.rs:920:10 [INFO] [stderr] | [INFO] [stderr] 920 | ($write:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/connect.rs:923:10 [INFO] [stderr] | [INFO] [stderr] 923 | ($write:expr_2021, $auth:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/connect.rs:923:28 [INFO] [stderr] | [INFO] [stderr] 923 | ($write:expr_2021, $auth:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/tls/impersonate/mod.rs:19:6 [INFO] [stderr] | [INFO] [stderr] 19 | ($ver:expr_2021, $($variant:pat => $path:path),+) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/connect.rs:920:17 [INFO] [stdout] | [INFO] [stdout] 920 | ($write:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 920 | ($write:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/connect.rs:923:17 [INFO] [stdout] | [INFO] [stdout] 923 | ($write:expr, $auth:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 923 | ($write:expr_2021, $auth:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/connect.rs:923:29 [INFO] [stdout] | [INFO] [stdout] 923 | ($write:expr, $auth:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 923 | ($write:expr, $auth:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/tls/impersonate/mod.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | ($ver:expr, $($variant:pat => $path:path),+) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ($ver:expr_2021, $($variant:pat => $path:path),+) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / unsafe extern "C" fn brotli_compressor( [INFO] [stdout] 31 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 32 | | out: *mut ffi::CBB, [INFO] [stdout] 33 | | in_: *const u8, [INFO] [stdout] 34 | | in_len: usize, [INFO] [stdout] 35 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | / unsafe extern "C" fn zlib_compressor( [INFO] [stdout] 49 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 50 | | out: *mut ffi::CBB, [INFO] [stdout] 51 | | in_: *const u8, [INFO] [stdout] 52 | | in_len: usize, [INFO] [stdout] 53 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / unsafe extern "C" fn brotli_decompressor( [INFO] [stdout] 68 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 69 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 70 | | uncompressed_len: usize, [INFO] [stdout] 71 | | in_: *const u8, [INFO] [stdout] 72 | | in_len: usize, [INFO] [stdout] 73 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 85 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 86 | | uncompressed.as_ptr(), [INFO] [stdout] 87 | | uncompressed_len, [INFO] [stdout] 88 | | std::ptr::null_mut(), [INFO] [stdout] 89 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | / unsafe extern "C" fn zlib_decompressor( [INFO] [stdout] 97 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 98 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 99 | | uncompressed_len: usize, [INFO] [stdout] 100 | | in_: *const u8, [INFO] [stdout] 101 | | in_len: usize, [INFO] [stdout] 102 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 116 | | uncompressed.as_ptr(), [INFO] [stdout] 117 | | uncompressed_len, [INFO] [stdout] 118 | | std::ptr::null_mut(), [INFO] [stdout] 119 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures_core::Future>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client/client.rs:1337:10 [INFO] [stdout] | [INFO] [stdout] 1337 | ) -> impl Future> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client/client.rs:1335:9 [INFO] [stdout] | [INFO] [stdout] 1335 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1337 | ) -> impl Future> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1355:16 [INFO] [stdout] | [INFO] [stdout] 1355 | if let Entry::Vacant(entry) = headers.entry(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1357:13 [INFO] [stdout] | [INFO] [stdout] 1357 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1355 ~ match headers.entry(key) { Entry::Vacant(entry) => { [INFO] [stdout] 1356 | entry.insert(value.clone()); [INFO] [stdout] 1357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1384:20 [INFO] [stdout] | [INFO] [stdout] 1384 | if let Some(value) = headers.get(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1386:17 [INFO] [stdout] | [INFO] [stdout] 1386 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1384 ~ match headers.get(key) { Some(value) => { [INFO] [stdout] 1385 | sorted_headers.insert(key, value.clone()); [INFO] [stdout] 1386 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/client.rs:1960:28 [INFO] [stdout] | [INFO] [stdout] 1960 | if let Some(referer) = make_referer(&loc, &self.url) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/client.rs:1962:25 [INFO] [stdout] | [INFO] [stdout] 1962 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1960 ~ match make_referer(&loc, &self.url) { Some(referer) => { [INFO] [stdout] 1961 | self.headers.insert(REFERER, referer); [INFO] [stdout] 1962 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/response.rs:279:12 [INFO] [stdout] | [INFO] [stdout] 279 | if let Some(item) = self.res.body_mut().next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/response.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match self.res.body_mut().next().await { Some(item) => { [INFO] [stdout] 280 | Ok(Some(item?)) [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | Ok(None) [INFO] [stdout] 283 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if let MaybeHttpsStream::Https(stream) = io { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ match io { MaybeHttpsStream::Https(stream) => { [INFO] [stdout] 242 | if !self.nodelay { [INFO] [stdout] ... [INFO] [stdout] 250 | }) [INFO] [stdout] 251 ~ } _ => { [INFO] [stdout] 252 | Ok(Conn { [INFO] [stdout] ... [INFO] [stdout] 256 | }) [INFO] [stdout] 257 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:349:16 [INFO] [stdout] | [INFO] [stdout] 349 | if let Some(proxy_scheme) = prox.intercept(&dst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 349 ~ match prox.intercept(&dst) { Some(proxy_scheme) => { [INFO] [stdout] 350 | return Box::pin(with_timeout( [INFO] [stdout] ... [INFO] [stdout] 353 | )); [INFO] [stdout] 354 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connect.rs:452:16 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(tls_info) = self.inner.tls_info() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/connect.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match self.inner.tls_info() { Some(tls_info) => { [INFO] [stdout] 453 | connected.extra(tls_info) [INFO] [stdout] 454 ~ } _ => { [INFO] [stdout] 455 | connected [INFO] [stdout] 456 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proxy.rs:863:15 [INFO] [stdout] | [INFO] [stdout] 863 | } else if let Ok(valid_addr) = addr.into_proxy_scheme() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/proxy.rs:866:5 [INFO] [stdout] | [INFO] [stdout] 866 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 863 ~ } else { match addr.into_proxy_scheme() { Ok(valid_addr) => { [INFO] [stdout] 864 | proxies.insert(scheme.into(), valid_addr); [INFO] [stdout] 865 | true [INFO] [stdout] 866 ~ } _ => { [INFO] [stdout] 867 | false [INFO] [stdout] 868 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/mod.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | if let Some(session) = cache.lock().get(&key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/mod.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match cache.lock().get(&key) { Some(session) => { [INFO] [stdout] 62 | unsafe { [INFO] [stdout] 63 | conf.set_session(&session)?; [INFO] [stdout] 64 | } [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(hash) = sessions.pop_front() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sessions.pop_front() { Some(hash) => { [INFO] [stdout] 65 | self.reverse.remove(&hash); [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | if let Entry::Occupied(mut sessions) = self.sessions.entry(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/tls/connector/cache.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 95 ~ match self.sessions.entry(key) { Entry::Occupied(mut sessions) => { [INFO] [stdout] 96 | sessions.get_mut().remove(session.id()); [INFO] [stdout] ... [INFO] [stdout] 99 | } [INFO] [stdout] 100 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if let Some(password) = password { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 16 ~ match password { Some(password) => { [INFO] [stdout] 17 | let _ = write!(encoder, "{}", password); [INFO] [stdout] 18 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating examples/simple.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/badssl.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/set_ca_cert.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/proxy.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/proxy.rs (6 fixes) [INFO] [stderr] Migrating tests/upgrade.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/impersonate.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/form.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/client.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/tls_info.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/client.rs:143:19 [INFO] [stdout] | [INFO] [stdout] 143 | while let Some(item) = req.body_mut().next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/client.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/pre_configured_tls.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/psk_impersonate.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/impersonate_with_headers.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/redirect.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/set_local_address.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/timeouts.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/set_interface.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.09s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking rquest v0.20.85 (/tmp/fixit) [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / unsafe extern "C" fn brotli_compressor( [INFO] [stdout] 31 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 32 | | out: *mut ffi::CBB, [INFO] [stdout] 33 | | in_: *const u8, [INFO] [stdout] 34 | | in_len: usize, [INFO] [stdout] 35 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | / unsafe extern "C" fn zlib_compressor( [INFO] [stdout] 49 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 50 | | out: *mut ffi::CBB, [INFO] [stdout] 51 | | in_: *const u8, [INFO] [stdout] 52 | | in_len: usize, [INFO] [stdout] 53 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / unsafe extern "C" fn brotli_decompressor( [INFO] [stdout] 68 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 69 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 70 | | uncompressed_len: usize, [INFO] [stdout] 71 | | in_: *const u8, [INFO] [stdout] 72 | | in_len: usize, [INFO] [stdout] 73 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 85 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 86 | | uncompressed.as_ptr(), [INFO] [stdout] 87 | | uncompressed_len, [INFO] [stdout] 88 | | std::ptr::null_mut(), [INFO] [stdout] 89 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | / unsafe extern "C" fn zlib_decompressor( [INFO] [stdout] 97 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 98 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 99 | | uncompressed_len: usize, [INFO] [stdout] 100 | | in_: *const u8, [INFO] [stdout] 101 | | in_len: usize, [INFO] [stdout] 102 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 116 | | uncompressed.as_ptr(), [INFO] [stdout] 117 | | uncompressed_len, [INFO] [stdout] 118 | | std::ptr::null_mut(), [INFO] [stdout] 119 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / unsafe extern "C" fn brotli_compressor( [INFO] [stdout] 31 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 32 | | out: *mut ffi::CBB, [INFO] [stdout] 33 | | in_: *const u8, [INFO] [stdout] 34 | | in_len: usize, [INFO] [stdout] 35 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #![cfg_attr(test, deny(warnings))] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[deny(unsafe_op_in_unsafe_fn)]` implied by `#[deny(warnings)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | let mut uncompressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | / unsafe extern "C" fn zlib_compressor( [INFO] [stdout] 49 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 50 | | out: *mut ffi::CBB, [INFO] [stdout] 51 | | in_: *const u8, [INFO] [stdout] 52 | | in_len: usize, [INFO] [stdout] 53 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `rboring_sys::CBB_add_bytes` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | boring_sys::CBB_add_bytes(out, compressed.as_ptr(), compressed.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / unsafe extern "C" fn brotli_decompressor( [INFO] [stdout] 68 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 69 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 70 | | uncompressed_len: usize, [INFO] [stdout] 71 | | in_: *const u8, [INFO] [stdout] 72 | | in_len: usize, [INFO] [stdout] 73 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 85 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 86 | | uncompressed.as_ptr(), [INFO] [stdout] 87 | | uncompressed_len, [INFO] [stdout] 88 | | std::ptr::null_mut(), [INFO] [stdout] 89 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | let mut compressed = slice::from_raw_parts(in_, in_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tls/cert_compression.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | / unsafe extern "C" fn zlib_decompressor( [INFO] [stdout] 97 | | _ssl: *mut ffi::SSL, [INFO] [stdout] 98 | | out: *mut *mut ffi::CRYPTO_BUFFER, [INFO] [stdout] 99 | | uncompressed_len: usize, [INFO] [stdout] 100 | | in_: *const u8, [INFO] [stdout] 101 | | in_len: usize, [INFO] [stdout] 102 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `rboring_sys::CRYPTO_BUFFER_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:115:18 [INFO] [stdout] | [INFO] [stdout] 115 | let buffer = ffi::CRYPTO_BUFFER_new( [INFO] [stdout] | __________________^ [INFO] [stdout] 116 | | uncompressed.as_ptr(), [INFO] [stdout] 117 | | uncompressed_len, [INFO] [stdout] 118 | | std::ptr::null_mut(), [INFO] [stdout] 119 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/tls/cert_compression.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | *out = buffer; [INFO] [stdout] | ^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rquest` (lib test) due to 11 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "361aa29b4d8c28df66cecd851cf77d99b2dd01cefe0ee43c49c565932db02259", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "361aa29b4d8c28df66cecd851cf77d99b2dd01cefe0ee43c49c565932db02259", kill_on_drop: false }` [INFO] [stdout] 361aa29b4d8c28df66cecd851cf77d99b2dd01cefe0ee43c49c565932db02259