[INFO] fetching crate bitcoin 0.32.4... [INFO] checking bitcoin-0.32.4 against try#da25749bf5e6ba5ed862ff361c19afff2a986b2d for pr-132712 [INFO] extracting crate bitcoin 0.32.4 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate bitcoin 0.32.4 on toolchain da25749bf5e6ba5ed862ff361c19afff2a986b2d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bitcoin 0.32.4 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate bitcoin 0.32.4 [INFO] tweaked toml for crates.io crate bitcoin 0.32.4 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate crates.io crate bitcoin 0.32.4 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" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: version requirement `0.105.0+25.1` for dependency `bitcoinconsensus` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6d746c24761df7c8e1aa72b948543410382049ff2a1cdb5c5cd26349a4155d9a [INFO] running `Command { std: "docker" "start" "-a" "6d746c24761df7c8e1aa72b948543410382049ff2a1cdb5c5cd26349a4155d9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d746c24761df7c8e1aa72b948543410382049ff2a1cdb5c5cd26349a4155d9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d746c24761df7c8e1aa72b948543410382049ff2a1cdb5c5cd26349a4155d9a", kill_on_drop: false }` [INFO] [stdout] 6d746c24761df7c8e1aa72b948543410382049ff2a1cdb5c5cd26349a4155d9a [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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+da25749bf5e6ba5ed862ff361c19afff2a986b2d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b1632764a1b9df2d26244129c3de2d48335a816c9609fcbcb3508cff23c3eacd [INFO] running `Command { std: "docker" "start" "-a" "b1632764a1b9df2d26244129c3de2d48335a816c9609fcbcb3508cff23c3eacd", 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] warning: version requirement `0.105.0+25.1` for dependency `bitcoinconsensus` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Compiling bitcoin-internals v0.3.0 [INFO] [stderr] Compiling serde v1.0.156 [INFO] [stderr] Checking bitcoin-io v0.1.2 [INFO] [stderr] Compiling hex_lit v0.1.1 [INFO] [stderr] Compiling bitcoin v0.32.4 (/tmp/fixit) [INFO] [stderr] Compiling serde_test v1.0.160 [INFO] [stderr] Compiling serde_json v1.0.96 [INFO] [stderr] Checking bech32 v0.11.0 [INFO] [stderr] Checking itoa v1.0.6 [INFO] [stderr] Checking ryu v1.0.13 [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking hex-conservative v0.2.0 [INFO] [stderr] Checking bitcoin-units v0.1.2 [INFO] [stderr] Checking bitcoin_hashes v0.14.0 [INFO] [stderr] Compiling secp256k1-sys v0.10.0 [INFO] [stderr] Checking base58ck v0.1.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking secp256k1 v0.29.0 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | let gen = bitcoin_genesis_tx(&Params::MAINNET); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | assert_eq!(gen.version, transaction::Version::ONE); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | assert_eq!(gen.input.len(), 1); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:273:20 [INFO] [stdout] | [INFO] [stdout] 273 | assert_eq!(gen.input[0].previous_output.txid, Hash::all_zeros()); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:274:20 [INFO] [stdout] | [INFO] [stdout] 274 | assert_eq!(gen.input[0].previous_output.vout, 0xFFFFFFFF); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:275:31 [INFO] [stdout] | [INFO] [stdout] 275 | assert_eq!(serialize(&gen.input[0].script_sig), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:278:20 [INFO] [stdout] | [INFO] [stdout] 278 | assert_eq!(gen.input[0].sequence, Sequence::MAX); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:279:20 [INFO] [stdout] | [INFO] [stdout] 279 | assert_eq!(gen.output.len(), 1); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:280:31 [INFO] [stdout] | [INFO] [stdout] 280 | assert_eq!(serialize(&gen.output[0].script_pubkey), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:282:20 [INFO] [stdout] | [INFO] [stdout] 282 | assert_eq!(gen.output[0].value, Amount::from_str("50 BTC").unwrap()); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:283:20 [INFO] [stdout] | [INFO] [stdout] 283 | assert_eq!(gen.lock_time, absolute::LockTime::ZERO); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | gen.compute_wtxid().to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:305:13 [INFO] [stdout] | [INFO] [stdout] 305 | let gen = genesis_block(¶ms::MAINNET); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:307:20 [INFO] [stdout] | [INFO] [stdout] 307 | assert_eq!(gen.header.version, block::Version::ONE); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | assert_eq!(gen.header.prev_blockhash, Hash::all_zeros()); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | gen.header.merkle_root.to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | assert_eq!(gen.header.time, 1231006505); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | assert_eq!(gen.header.bits, CompactTarget::from_consensus(0x1d00ffff)); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:316:20 [INFO] [stdout] | [INFO] [stdout] 316 | assert_eq!(gen.header.nonce, 2083236893); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:318:13 [INFO] [stdout] | [INFO] [stdout] 318 | gen.header.block_hash().to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:325:13 [INFO] [stdout] | [INFO] [stdout] 325 | let gen = genesis_block(¶ms::TESTNET3); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | assert_eq!(gen.header.version, block::Version::ONE); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | assert_eq!(gen.header.prev_blockhash, Hash::all_zeros()); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:329:13 [INFO] [stdout] | [INFO] [stdout] 329 | gen.header.merkle_root.to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:332:20 [INFO] [stdout] | [INFO] [stdout] 332 | assert_eq!(gen.header.time, 1296688602); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:333:20 [INFO] [stdout] | [INFO] [stdout] 333 | assert_eq!(gen.header.bits, CompactTarget::from_consensus(0x1d00ffff)); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | assert_eq!(gen.header.nonce, 414098458); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | gen.header.block_hash().to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | let gen = genesis_block(¶ms::SIGNET); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:344:20 [INFO] [stdout] | [INFO] [stdout] 344 | assert_eq!(gen.header.version, block::Version::ONE); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:345:20 [INFO] [stdout] | [INFO] [stdout] 345 | assert_eq!(gen.header.prev_blockhash, Hash::all_zeros()); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | gen.header.merkle_root.to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | assert_eq!(gen.header.time, 1598918400); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:351:20 [INFO] [stdout] | [INFO] [stdout] 351 | assert_eq!(gen.header.bits, CompactTarget::from_consensus(0x1e0377ae)); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | assert_eq!(gen.header.nonce, 52613770); [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/blockdata/constants.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | gen.header.block_hash().to_string(), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/consensus/encode.rs:1246:53 [INFO] [stdout] | [INFO] [stdout] 1246 | let r: $val_type = thread_rng().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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/merkle_tree/block.rs:614:33 [INFO] [stdout] | [INFO] [stdout] 614 | bits => rng.gen::() >> (64 - bits), [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/merkle_tree/block.rs:762:27 [INFO] [stdout] | [INFO] [stdout] 762 | let bit = rng.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] [stdout] error: couldn't read `src/p2p/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw`: No such file or directory (os error 2) [INFO] [stdout] --> src/p2p/message.rs:566:41 [INFO] [stdout] | [INFO] [stdout] 566 | ...ialize(&include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw")[..]).unw... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/../tests/data/blockfilters.json`: No such file or directory (os error 2) [INFO] [stdout] --> src/bip158.rs:576:20 [INFO] [stdout] | [INFO] [stdout] 576 | let data = include_str!("../tests/data/blockfilters.json"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/blockdata/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw`: No such file or directory (os error 2) [INFO] [stdout] --> src/blockdata/block.rs:563:28 [INFO] [stdout] | [INFO] [stdout] 563 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw").to_vec(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/blockdata/../../tests/data/huge_witness.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/blockdata/transaction.rs:2037:42 [INFO] [stdout] | [INFO] [stdout] 2037 | deserialize::(&hex!(include_str!("../../tests/data/huge_witness.hex").trim())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/consensus/../../tests/data/previous_tx_0_hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/consensus/encode.rs:1296:19 [INFO] [stdout] | [INFO] [stdout] 1296 | let hex = include_str!("../../tests/data/previous_tx_0_hex"); // An arbitrary transaction. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/consensus/../../tests/data/previous_tx_0_hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/consensus/encode.rs:1304:23 [INFO] [stdout] | [INFO] [stdout] 1304 | let mut hex = include_str!("../../tests/data/previous_tx_0_hex").to_string(); // An arbitrary transaction. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/merkle_tree/../../tests/data/merkle_block.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/merkle_tree/block.rs:682:22 [INFO] [stdout] | [INFO] [stdout] 682 | let mb_hex = include_str!("../../tests/data/merkle_block.hex"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/merkle_tree/../../tests/data/block_13b8a.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/merkle_tree/block.rs:774:25 [INFO] [stdout] | [INFO] [stdout] 774 | let block_hex = include_str!("../../tests/data/block_13b8a.hex"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/merkle_tree/../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw`: No such file or directory (os error 2) [INFO] [stdout] --> src/merkle_tree/mod.rs:124:28 [INFO] [stdout] | [INFO] [stdout] 124 | ...block = include_bytes!("../../tests/data/testnet_block_000000000000045e0b1660b6445b5e5c5ab63c9a4f956be7e1e69be04fa4497b.raw"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/psbt/../../tests/data/psbt1.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/psbt/mod.rs:2093:34 [INFO] [stdout] | [INFO] [stdout] 2093 | let mut psbt1 = hex_psbt(include_str!("../../tests/data/psbt1.hex")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/psbt/../../tests/data/psbt2.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/psbt/mod.rs:2094:30 [INFO] [stdout] | [INFO] [stdout] 2094 | let psbt2 = hex_psbt(include_str!("../../tests/data/psbt2.hex")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/psbt/../../tests/data/psbt2.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/psbt/mod.rs:2095:38 [INFO] [stdout] | [INFO] [stdout] 2095 | let psbt_combined = hex_psbt(include_str!("../../tests/data/psbt2.hex")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/psbt/../../tests/data/psbt1.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/psbt/mod.rs:2103:34 [INFO] [stdout] | [INFO] [stdout] 2103 | let mut psbt1 = hex_psbt(include_str!("../../tests/data/psbt1.hex")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/psbt/../../tests/data/psbt2.hex`: No such file or directory (os error 2) [INFO] [stdout] --> src/psbt/mod.rs:2104:34 [INFO] [stdout] | [INFO] [stdout] 2104 | let mut psbt2 = hex_psbt(include_str!("../../tests/data/psbt2.hex")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `src/taproot/../../tests/data/bip341_tests.json`: No such file or directory (os error 2) [INFO] [stdout] --> src/taproot/mod.rs:1856:24 [INFO] [stdout] | [INFO] [stdout] 1856 | let json_str = include_str!("../../tests/data/bip341_tests.json"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/p2p/message_blockdata.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | ($code:expr, $item: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] 66 | ($code:expr_2021, $item: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/p2p/message_blockdata.rs:66:32 [INFO] [stdout] | [INFO] [stdout] 66 | ($code:expr, $item: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] 66 | ($code:expr, $item: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/blockdata/constants.rs:388:39 [INFO] [stdout] | [INFO] [stdout] 388 | ($($test_name:ident, $network: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] 388 | ($($test_name:ident, $network: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/blockdata/opcodes.rs:39:26 [INFO] [stdout] | [INFO] [stdout] 39 | ($($op:ident => $val:expr, $doc: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] 39 | ($($op:ident => $val:expr_2021, $doc: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/blockdata/opcodes.rs:39:37 [INFO] [stdout] | [INFO] [stdout] 39 | ($($op:ident => $val:expr, $doc: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] 39 | ($($op:ident => $val:expr, $doc: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/blockdata/opcodes.rs:549:18 [INFO] [stdout] | [INFO] [stdout] 549 | ($unique:expr, $op:ident) => { [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] 549 | ($unique:expr_2021, $op:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/blockdata/script/mod.rs:605:16 [INFO] [stdout] | [INFO] [stdout] 605 | ($iter:expr, $len:literal, $formatter: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] 605 | ($iter:expr_2021, $len:literal, $formatter: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/blockdata/script/mod.rs:605:47 [INFO] [stdout] | [INFO] [stdout] 605 | ($iter:expr, $len:literal, $formatter: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] 605 | ($iter:expr, $len:literal, $formatter: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/consensus/encode.rs:252:44 [INFO] [stdout] | [INFO] [stdout] 252 | ($name:ident, $val_type:ty, $byte_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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 252 | ($name:ident, $val_type:ty, $byte_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/pow.rs:992:24 [INFO] [stdout] | [INFO] [stdout] 992 | ($hex:ident, $case: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] 992 | ($hex:ident, $case: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/taproot/merkle_branch.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | ($($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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 139 | ($($len:expr_2021),* $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:349:13 [INFO] [stdout] | [INFO] [stdout] 349 | NetworkMessage::Version(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | NetworkMessage::Addr(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | NetworkMessage::Inv(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:352:13 [INFO] [stdout] | [INFO] [stdout] 352 | NetworkMessage::GetData(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | NetworkMessage::NotFound(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | NetworkMessage::GetBlocks(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | NetworkMessage::GetHeaders(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:356:13 [INFO] [stdout] | [INFO] [stdout] 356 | NetworkMessage::Tx(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | NetworkMessage::Block(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | NetworkMessage::Headers(ref dat) => [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | NetworkMessage::Ping(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | NetworkMessage::Pong(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | NetworkMessage::MerkleBlock(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | NetworkMessage::FilterLoad(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | NetworkMessage::FilterAdd(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | NetworkMessage::GetCFilters(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:366:13 [INFO] [stdout] | [INFO] [stdout] 366 | NetworkMessage::CFilter(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | NetworkMessage::GetCFHeaders(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | NetworkMessage::CFHeaders(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:369:13 [INFO] [stdout] | [INFO] [stdout] 369 | NetworkMessage::GetCFCheckpt(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | NetworkMessage::CFCheckpt(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | NetworkMessage::SendCmpct(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | NetworkMessage::CmpctBlock(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:373:13 [INFO] [stdout] | [INFO] [stdout] 373 | NetworkMessage::GetBlockTxn(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | NetworkMessage::BlockTxn(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:375:13 [INFO] [stdout] | [INFO] [stdout] 375 | NetworkMessage::Alert(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:376:13 [INFO] [stdout] | [INFO] [stdout] 376 | NetworkMessage::Reject(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:377:13 [INFO] [stdout] | [INFO] [stdout] 377 | NetworkMessage::FeeFilter(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:378:13 [INFO] [stdout] | [INFO] [stdout] 378 | NetworkMessage::AddrV2(ref dat) => dat.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/p2p/message.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | NetworkMessage::Unknown { payload: ref data, .. } => data.consensus_encode(writer), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/blockdata/locktime/relative.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | LockTime::Blocks(ref h) => h.to_consensus_u32(), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: patterns are not allowed to reset the default binding mode in edition 2024 [INFO] [stdout] --> src/blockdata/locktime/relative.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | LockTime::Time(ref t) => t.to_consensus_u32(), [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: desugar the match ergonomics: `&` [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see 123076 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/blockdata/script/push_bytes.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | &*(bytes as *const [u8] as *const PushBytes) [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/blockdata/script/push_bytes.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | unsafe fn from_slice_unchecked(bytes: &[u8]) -> &Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bitcoin` (lib test) due to 15 previous errors; 84 warnings emitted [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/blockdata/script/push_bytes.rs:62:18 [INFO] [stdout] | [INFO] [stdout] 62 | &mut *(bytes as *mut [u8] as *mut PushBytes) [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/blockdata/script/push_bytes.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe fn from_mut_slice_unchecked(bytes: &mut [u8]) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Fixed src/taproot/merkle_branch.rs (1 fix) [INFO] [stderr] Fixed src/blockdata/opcodes.rs (2 fixes) [INFO] [stderr] Fixed src/p2p/message.rs (30 fixes) [INFO] [stderr] Fixed src/psbt/mod.rs (2 fixes) [INFO] [stderr] Fixed src/merkle_tree/block.rs (2 fixes) [INFO] [stderr] Fixed src/p2p/message_blockdata.rs (2 fixes) [INFO] [stderr] Fixed src/consensus/encode.rs (2 fixes) [INFO] [stderr] Fixed src/blockdata/locktime/relative.rs (2 fixes) [INFO] [stderr] Fixed src/pow.rs (1 fix) [INFO] [stderr] Fixed src/blockdata/constants.rs (36 fixes) [INFO] [stderr] Fixed src/blockdata/script/push_bytes.rs (2 fixes) [INFO] [stderr] Fixed src/blockdata/script/mod.rs (2 fixes) [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" "b1632764a1b9df2d26244129c3de2d48335a816c9609fcbcb3508cff23c3eacd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1632764a1b9df2d26244129c3de2d48335a816c9609fcbcb3508cff23c3eacd", kill_on_drop: false }` [INFO] [stdout] b1632764a1b9df2d26244129c3de2d48335a816c9609fcbcb3508cff23c3eacd