[INFO] fetching crate reweb3 0.2.4... [INFO] checking reweb3-0.2.4 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate reweb3 0.2.4 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate reweb3 0.2.4 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 reweb3 0.2.4 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate reweb3 0.2.4 [INFO] tweaked toml for crates.io crate reweb3 0.2.4 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 161 packages to latest compatible versions [INFO] [stderr] Adding env_logger v0.10.2 (available: v0.11.5) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding syn v2.0.72 (available: v2.0.77) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] ba131563ac9e7bbd68b9ea49c2d408fa7c864aa7ceafdd1cb936d5a57404a1fa [INFO] running `Command { std: "docker" "start" "-a" "ba131563ac9e7bbd68b9ea49c2d408fa7c864aa7ceafdd1cb936d5a57404a1fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba131563ac9e7bbd68b9ea49c2d408fa7c864aa7ceafdd1cb936d5a57404a1fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba131563ac9e7bbd68b9ea49c2d408fa7c864aa7ceafdd1cb936d5a57404a1fa", kill_on_drop: false }` [INFO] [stdout] ba131563ac9e7bbd68b9ea49c2d408fa7c864aa7ceafdd1cb936d5a57404a1fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] b1c1ea298d2dc353af5b91b82bf0372fe0bf9eab749e60a7736e026390e1cca8 [INFO] running `Command { std: "docker" "start" "-a" "b1c1ea298d2dc353af5b91b82bf0372fe0bf9eab749e60a7736e026390e1cca8", 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 (19 fixes) [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling bindgen v0.70.1 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling cmake v0.1.51 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling bigdecimal v0.4.5 [INFO] [stderr] Checking foreign-types-shared v0.3.1 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Checking cooked-waker v5.0.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking ff v0.13.0 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking boxcar v0.2.5 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling foreign-types-macros v0.2.3 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling bitmask-enum v2.2.4 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Compiling concat-idents v1.1.5 [INFO] [stderr] Checking foreign-types v0.5.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking futures-test v0.3.30 [INFO] [stderr] Checking rasi v0.2.6 [INFO] [stderr] Checking futures-map v0.2.8 [INFO] [stderr] Checking rasi-mio v0.2.6 [INFO] [stderr] Compiling boring-sys v4.10.3 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking serde-big-array v0.5.1 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking reweb3-num v0.2.4 [INFO] [stderr] Compiling ethbind v0.2.4 [INFO] [stderr] Compiling reweb3-macros v0.2.4 [INFO] [stderr] Checking boring v4.10.3 [INFO] [stderr] Checking futures-boring v0.2.8 [INFO] [stderr] Checking futures-http v0.2.8 [INFO] [stderr] Checking futures-jsonrpcv2 v0.2.8 [INFO] [stderr] Checking reweb3 v0.2.4 (/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 `reweb3` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/primitives/bytes.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/primitives/bytes.rs:14:21 [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | let gen = Bip39Generator::new(en_us()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 14 | ($ident: ident, $len: expr_2021) => { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:211:24 [INFO] [stdout] | [INFO] [stdout] 211 | let mnemonic = gen.gen_mnemonic::<16>().expect("Generate mnemonic"); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | gen.mnemonic_check(mnemonic).expect("Mnemonic check"); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let gen = Bip39Generator::new(en_us()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:224:24 [INFO] [stdout] | [INFO] [stdout] 224 | let mnemonic = gen [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let gen = Bip39Generator::new(en_us()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wallet/hdwallet/bip39.rs:365:28 [INFO] [stdout] | [INFO] [stdout] 365 | let mnemonic = gen [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/primitives/bytes.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | ($ident: ident, $len: expr_2021, $($ident_next: ident, $len_next: 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/primitives/bytes.rs:18:60 [INFO] [stderr] | [INFO] [stderr] 18 | ($ident: ident, $len: expr_2021, $($ident_next: ident, $len_next: 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/macros.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | ($ident: ident, $abi_path: 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: 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/primitives/bytes.rs:14:27 [INFO] [stdout] | [INFO] [stdout] 14 | ($ident: ident, $len: 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] 14 | ($ident: ident, $len: 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/primitives/bytes.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | ($ident: ident, $len: expr, $($ident_next: ident, $len_next: 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] 18 | ($ident: ident, $len: expr_2021, $($ident_next: ident, $len_next: 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/primitives/bytes.rs:18:66 [INFO] [stdout] | [INFO] [stdout] 18 | ($ident: ident, $len: expr, $($ident_next: ident, $len_next: 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] 18 | ($ident: ident, $len: expr, $($ident_next: ident, $len_next: 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/macros.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | ($ident: ident, $abi_path: 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] 12 | ($ident: ident, $abi_path: expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | if let Some(parent) = self.tuple_stacks.last_mut() { [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/abi/de.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | } else { [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] 170 ~ match self.tuple_stacks.last_mut() { Some(parent) => { [INFO] [stdout] 171 | let (tuple, len) = parent.start_read_tuple(dynamic)?; [INFO] [stdout] ... [INFO] [stdout] 174 | return Ok(len); [INFO] [stdout] 175 ~ } _ => { [INFO] [stdout] 176 | let (tuple, len) = AbiTupleDecoder::new(self.root_buff.clone(), dynamic)?; [INFO] [stdout] ... [INFO] [stdout] 179 | return Ok(len); [INFO] [stdout] 180 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(tuple) = self.tuple_stacks.pop() { [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/abi/de.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 185 ~ match self.tuple_stacks.pop() { Some(tuple) => { [INFO] [stdout] 186 | let len = tuple.finalize(); [INFO] [stdout] ... [INFO] [stdout] 194 | Ok(()) [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | return Err(AbiDeError::TupleNotFound("".to_owned())); [INFO] [stdout] 197 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:188:16 [INFO] [stdout] | [INFO] [stdout] 188 | if let Some(parent) = self.tuple_stacks.last_mut() { [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/abi/de.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | } 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] 188 ~ match self.tuple_stacks.last_mut() { Some(parent) => { [INFO] [stdout] 189 | parent.end_read_tuple(len)?; [INFO] [stdout] 190 ~ } _ => { [INFO] [stdout] 191 | _ = self.root_buff.advance(len); [INFO] [stdout] 192 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 202 | if let Some(tuple) = self.tuple_stacks.last_mut() { [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/abi/de.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | } 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] 202 ~ match self.tuple_stacks.last_mut() { Some(tuple) => { [INFO] [stdout] 203 | Ok(tuple.read_one_static()?.to_vec().try_into().unwrap()) [INFO] [stdout] 204 ~ } _ => { [INFO] [stdout] 205 | // ensure decoding buff length is more than 32 bytes [INFO] [stdout] ... [INFO] [stdout] 216 | Ok(first.to_vec().try_into().unwrap()) [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let Some(tuple) = self.tuple_stacks.last_mut() { [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/abi/de.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | } 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] 222 ~ match self.tuple_stacks.last_mut() { Some(tuple) => { [INFO] [stdout] 223 | tuple.read_bytes() [INFO] [stdout] 224 ~ } _ => { [INFO] [stdout] 225 | let (buff, padding_zeros) = read_bytes(self.root_buff.clone())?; [INFO] [stdout] ... [INFO] [stdout] 229 | Ok(buff) [INFO] [stdout] 230 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/abi/de.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some(tuple) = self.tuple_stacks.last() { [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/abi/de.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | } 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] 235 ~ match self.tuple_stacks.last() { Some(tuple) => { [INFO] [stdout] 236 | tuple.remaining() [INFO] [stdout] 237 ~ } _ => { [INFO] [stdout] 238 | self.root_buff.clone() [INFO] [stdout] 239 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eip/eip712/serde/hashstruct.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some(caps) = regex.captures(name) { [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/eip/eip712/serde/hashstruct.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | } 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] 108 ~ match regex.captures(name) { Some(caps) => { [INFO] [stdout] 109 | caps[1].to_owned() [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | name.to_owned() [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wallet/hdwallet/bip44.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(captures) = get_path_regex().captures(value) { [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/wallet/hdwallet/bip44.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | } 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] 106 ~ match get_path_regex().captures(value) { Some(captures) => { [INFO] [stdout] 107 | Ok(Bip44Path { [INFO] [stdout] ... [INFO] [stdout] 113 | }) [INFO] [stdout] 114 ~ } _ => { [INFO] [stdout] 115 | Err(Bip44Error::InvalidPath(value.to_string())) [INFO] [stdout] 116 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/jsonrpc.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(block_number_or_tag) = block_number_or_tag { [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/clients/jsonrpc.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | } 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] 184 ~ match block_number_or_tag { Some(block_number_or_tag) => { [INFO] [stdout] 185 | let block_number_or_tag = block_number_or_tag.try_into().map_err(map_error)?; [INFO] [stdout] ... [INFO] [stdout] 191 | .await?) [INFO] [stdout] 192 ~ } _ => { [INFO] [stdout] 193 | Ok(self.0.clone().call("eth_call", vec![transaction]).await?) [INFO] [stdout] 194 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/jsonrpc.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | if let Some(block_number_or_tag) = block_number_or_tag { [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/clients/jsonrpc.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | } 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] 211 ~ match block_number_or_tag { Some(block_number_or_tag) => { [INFO] [stdout] 212 | let block_number_or_tag = block_number_or_tag.try_into().map_err(map_error)?; [INFO] [stdout] ... [INFO] [stdout] 218 | .await?) [INFO] [stdout] 219 ~ } _ => { [INFO] [stdout] 220 | Ok(self [INFO] [stdout] ... [INFO] [stdout] 224 | .await?) [INFO] [stdout] 225 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/jsonrpc.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(block_number_or_tag) = block_number_or_tag { [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/clients/jsonrpc.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | } 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] 242 ~ match block_number_or_tag { Some(block_number_or_tag) => { [INFO] [stdout] 243 | let block_number_or_tag = block_number_or_tag.try_into().map_err(map_error)?; [INFO] [stdout] ... [INFO] [stdout] 249 | .await?) [INFO] [stdout] 250 ~ } _ => { [INFO] [stdout] 251 | Ok(self [INFO] [stdout] ... [INFO] [stdout] 255 | .await?) [INFO] [stdout] 256 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/hardhat/mod.rs:65:16 [INFO] [stdout] | [INFO] [stdout] 65 | if let Ok(line) = line { [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/hardhat/mod.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | } 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] 65 ~ match line { Ok(line) => { [INFO] [stdout] 66 | println!("{}", line); [INFO] [stdout] 67 ~ } _ => { [INFO] [stdout] 68 | break; [INFO] [stdout] 69 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/hardhat/mod.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | if let Ok(line) = line { [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/hardhat/mod.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | } 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] 113 ~ match line { Ok(line) => { [INFO] [stdout] 114 | println!("{}", line); [INFO] [stdout] 115 ~ } _ => { [INFO] [stdout] 116 | break; [INFO] [stdout] 117 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] --> src/primitives/bytes.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | ($ident: ident, $len: expr_2021) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #123742 for more information [INFO] [stdout] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] --> src/primitives/bytes.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | ($ident: ident, $len: expr_2021, $($ident_next: ident, $len_next: expr_2021),+) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #123742 for more information [INFO] [stdout] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] --> src/primitives/bytes.rs:18:60 [INFO] [stdout] | [INFO] [stdout] 18 | ($ident: ident, $len: expr_2021, $($ident_next: ident, $len_next: expr_2021),+) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #123742 for more information [INFO] [stdout] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | ($ident: ident, $abi_path: 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] 12 | ($ident: ident, $abi_path: expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] [INFO] [stderr] error: could not compile `reweb3` (lib) due to 4 previous errors; 1 warning emitted [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "b1c1ea298d2dc353af5b91b82bf0372fe0bf9eab749e60a7736e026390e1cca8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1c1ea298d2dc353af5b91b82bf0372fe0bf9eab749e60a7736e026390e1cca8", kill_on_drop: false }` [INFO] [stdout] b1c1ea298d2dc353af5b91b82bf0372fe0bf9eab749e60a7736e026390e1cca8