[INFO] fetching crate kaspa-consensus-wasm 0.13.4... [INFO] checking kaspa-consensus-wasm-0.13.4 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate kaspa-consensus-wasm 0.13.4 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate kaspa-consensus-wasm 0.13.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 kaspa-consensus-wasm 0.13.4 [INFO] finished tweaking crates.io crate kaspa-consensus-wasm 0.13.4 [INFO] tweaked toml for crates.io crate kaspa-consensus-wasm 0.13.4 written to /workspace/builds/worker-4-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 256 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding async-channel v1.9.0 (available: v2.3.1) [INFO] [stderr] Adding borsh v0.9.3 (available: v1.5.1) [INFO] [stderr] Adding borsh-derive v0.9.3 (available: v1.5.1) [INFO] [stderr] Adding borsh-derive-internal v0.9.3 (available: v0.10.4) [INFO] [stderr] Adding borsh-schema-derive-internal v0.9.3 (available: v0.10.4) [INFO] [stderr] Adding destructure_traitobject v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding encode_unicode v0.3.6 (available: v1.0.0) [INFO] [stderr] Adding event-listener v2.5.3 (available: v5.3.1) [INFO] [stderr] Adding faster-hex v0.6.1 (available: v0.10.0) [INFO] [stderr] Adding faster-hex v0.8.1 (available: v0.10.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hashbrown v0.11.2 (available: v0.14.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding iana-time-zone v0.1.60 (available: v0.1.61) [INFO] [stderr] Adding itertools v0.11.0 (available: v0.13.0) [INFO] [stderr] Adding js-sys v0.3.64 (available: v0.3.70) [INFO] [stderr] Adding linkme v0.2.10 (available: v0.3.28) [INFO] [stderr] Adding linkme-impl v0.2.10 (available: v0.3.28) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding ordered-float v2.10.1 (available: v4.3.0) [INFO] [stderr] Adding proc-macro-crate v0.1.5 (available: v3.2.0) [INFO] [stderr] Adding secp256k1 v0.24.3 (available: v0.29.1) [INFO] [stderr] Adding secp256k1-sys v0.6.1 (available: v0.10.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding toml v0.5.11 (available: v0.8.19) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding uuid v0.8.2 (available: v1.10.0) [INFO] [stderr] Adding vergen v8.3.2 (available: v9.0.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wasm-bindgen v0.2.87 (available: v0.2.93) [INFO] [stderr] Adding wasm-bindgen-backend v0.2.87 (available: v0.2.93) [INFO] [stderr] Adding wasm-bindgen-futures v0.4.37 (available: v0.4.43) [INFO] [stderr] Adding wasm-bindgen-macro v0.2.87 (available: v0.2.93) [INFO] [stderr] Adding wasm-bindgen-macro-support v0.2.87 (available: v0.2.93) [INFO] [stderr] Adding wasm-bindgen-shared v0.2.87 (available: v0.2.93) [INFO] [stderr] Adding web-sys v0.3.64 (available: v0.3.70) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding workflow-core v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-core-macros v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-log v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-macro-tools v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-panic-hook v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-wasm v0.10.3 (available: v0.18.0) [INFO] [stderr] Adding workflow-wasm-macros v0.10.3 (available: v0.18.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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 0519f3f02f437f8b69d81e75da2520a98032e723e4c22bbc806d6cdf501c122b [INFO] running `Command { std: "docker" "start" "-a" "0519f3f02f437f8b69d81e75da2520a98032e723e4c22bbc806d6cdf501c122b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0519f3f02f437f8b69d81e75da2520a98032e723e4c22bbc806d6cdf501c122b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0519f3f02f437f8b69d81e75da2520a98032e723e4c22bbc806d6cdf501c122b", kill_on_drop: false }` [INFO] [stdout] 0519f3f02f437f8b69d81e75da2520a98032e723e4c22bbc806d6cdf501c122b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] ff18710d02232bc00ecf3d3773be4b4ce28691dc4e65c116dd2d733d9c11c5db [INFO] running `Command { std: "docker" "start" "-a" "ff18710d02232bc00ecf3d3773be4b4ce28691dc4e65c116dd2d733d9c11c5db", 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] Compiling libc v0.2.159 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.87 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling wasm-bindgen v0.2.87 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling vergen v8.3.2 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.87 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Checking ahash v0.7.8 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.87 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.87 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling parse-variants-derive v1.0.0 [INFO] [stderr] Checking polling v3.7.3 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling parse-variants v1.0.3 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking async-io v2.3.4 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking async-executor v1.13.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking triggered v0.1.2 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Compiling cpufeatures v0.2.14 [INFO] [stderr] Compiling workflow-async-trait v0.1.68 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Checking hexplay v0.3.0 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Compiling workflow-macro-tools v0.10.3 [INFO] [stderr] Compiling async-attributes v1.1.2 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking downcast v0.11.0 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Compiling workflow-core-macros v0.10.3 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Compiling js-sys v0.3.64 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Compiling rlimit v0.10.2 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking faster-hex v0.6.1 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling kaspa-hashes v0.13.4 [INFO] [stderr] Compiling secp256k1-sys v0.6.1 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Compiling malachite-nz v0.4.16 [INFO] [stderr] Checking malachite-base v0.4.16 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking blake2b_simd v1.0.2 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling linkme-impl v0.2.10 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking faster-hex v0.8.1 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Compiling workflow-wasm-macros v0.10.3 [INFO] [stderr] Checking async-std v1.13.0 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling cargo-platform v0.1.8 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking workflow-log v0.10.3 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling cargo_metadata v0.18.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Checking flate2 v1.0.33 [INFO] [stderr] Checking linkme v0.2.10 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling intertrait-macros v0.2.2 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking thread-id v4.2.2 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking web-sys v0.3.64 [INFO] [stderr] Checking serde-wasm-bindgen v0.6.5 [INFO] [stderr] Compiling workflow-core v0.10.3 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.37 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking ctrlc v3.4.5 [INFO] [stderr] Checking secp256k1 v0.24.3 [INFO] [stderr] Checking kaspa-utils v0.13.4 [INFO] [stderr] Checking intertrait v0.2.2 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking kaspa-txscript-errors v0.13.4 [INFO] [stderr] Checking log4rs v1.3.0 [INFO] [stderr] Checking kaspa-core v0.13.4 [INFO] [stderr] Checking workflow-panic-hook v0.10.3 [INFO] [stderr] Checking workflow-wasm v0.10.3 [INFO] [stderr] Checking kaspa-math v0.13.4 [INFO] [stderr] Checking kaspa-addresses v0.13.4 [INFO] [stderr] Checking kaspa-merkle v0.13.4 [INFO] [stderr] Checking kaspa-muhash v0.13.4 [INFO] [stderr] Checking kaspa-consensus-core v0.13.4 [INFO] [stderr] Checking kaspa-txscript v0.13.4 [INFO] [stderr] Checking kaspa-consensus-wasm v0.13.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 `kaspa_consensus_wasm` [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/output.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub value: u64, [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/output.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/output.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub script_public_key: ScriptPublicKey, [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/output.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/imports.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/output.rs [INFO] [stderr] * src/signable.rs [INFO] [stderr] * src/signer.rs [INFO] [stderr] * src/transaction.rs [INFO] [stderr] * src/utxo.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: expected item after attributes [INFO] [stderr] --> src/output.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug, Clone, Serialize, Deserialize)] [INFO] [stderr] | ----------------------------------------------- other attributes here [INFO] [stderr] 4 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected item after attributes [INFO] [stderr] --> src/signable.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 9 | /// Represents a generic mutable transaction [INFO] [stderr] | -------------------------------------------- other attributes here [INFO] [stderr] 10 | #[derive(Clone, Debug, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: expected one of `.`, `;`, `?`, `}`, or an operator, found `=>` [INFO] [stderr] --> src/transaction.rs:193:41 [INFO] [stderr] | [INFO] [stderr] 193 | if let Ok(tx) = match { Ok(tx) => { [INFO] [stderr] | ^^ expected one of `.`, `;`, `?`, `}`, or an operator [INFO] [stderr] | [INFO] [stderr] help: you might have meant to write a "greater than or equal to" comparison [INFO] [stderr] | [INFO] [stderr] 193 | if let Ok(tx) = match { Ok(tx) >= { [INFO] [stderr] | ~~ [INFO] [stderr] [INFO] [stderr] error: expected one of `.`, `?`, `{`, or an operator, found `}` [INFO] [stderr] --> src/transaction.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 193 | if let Ok(tx) = match { Ok(tx) => { [INFO] [stderr] | ----- while parsing this `match` expression [INFO] [stderr] ... [INFO] [stderr] 225 | }} [INFO] [stderr] | - expected one of `.`, `?`, `{`, or an operator [INFO] [stderr] 226 | } [INFO] [stderr] | ^ unexpected token [INFO] [stderr] [INFO] [stderr] error: expected item after attributes [INFO] [stderr] --> src/utxo.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Clone, Debug, Serialize, Deserialize)] [INFO] [stderr] | ----------------------------------------------- other attributes here [INFO] [stderr] 10 | #[serde(rename_all = "camelCase")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::output::TransactionOutput` [INFO] [stderr] --> src/transaction.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::output::TransactionOutput; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `TransactionOutput` in `output` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these structs instead [INFO] [stderr] | [INFO] [stderr] 3 | use crate::transaction::cctx::TransactionOutput; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] 3 | use kaspa_consensus_core::tx::TransactionOutput; [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SignableTransaction` in this scope [INFO] [stderr] --> src/signer.rs:35:33 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn js_sign_transaction(mtx: SignableTransaction, signer: PrivateKeyArray, verify_sig: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these type aliases [INFO] [stderr] | [INFO] [stderr] 1 + use crate::signer::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] 1 + use kaspa_consensus_core::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SignableTransaction` in this scope [INFO] [stderr] --> src/signer.rs:35:107 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn js_sign_transaction(mtx: SignableTransaction, signer: PrivateKeyArray, verify_sig: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these type aliases [INFO] [stderr] | [INFO] [stderr] 1 + use crate::signer::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] 1 + use kaspa_consensus_core::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SignableTransaction` in this scope [INFO] [stderr] --> src/signer.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn sign_transaction(mtx: SignableTransaction, private_keys: Vec<[u8; 32]>, verify_sig: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these type aliases [INFO] [stderr] | [INFO] [stderr] 1 + use crate::signer::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] 1 + use kaspa_consensus_core::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SignableTransaction` in this scope [INFO] [stderr] --> src/signer.rs:50:108 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn sign_transaction(mtx: SignableTransaction, private_keys: Vec<[u8; 32]>, verify_sig: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these type aliases [INFO] [stderr] | [INFO] [stderr] 1 + use crate::signer::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] 1 + use kaspa_consensus_core::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type `SignableTransaction` [INFO] [stderr] --> src/signer.rs:53:15 [INFO] [stderr] | [INFO] [stderr] 53 | let mtx = SignableTransaction::try_from((mtx, entries))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ use of undeclared type `SignableTransaction` [INFO] [stderr] | [INFO] [stderr] help: consider importing one of these type aliases [INFO] [stderr] | [INFO] [stderr] 1 + use crate::signer::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] 1 + use kaspa_consensus_core::tx::SignableTransaction; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `ScriptPublicKey` [INFO] [stderr] --> src/imports.rs:4:36 [INFO] [stderr] | [INFO] [stderr] 4 | pub use kaspa_consensus_core::tx::{ScriptPublicKey, TransactionId, TransactionIndexType}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::signable::*` [INFO] [stderr] --> src/signer.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::signable::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `output::*` [INFO] [stderr] --> src/lib.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | pub use output::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `signable::*` [INFO] [stderr] --> src/lib.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | pub use signable::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `utxo::*` [INFO] [stderr] --> src/lib.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | pub use utxo::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors; 5 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0412, E0432, E0433. [INFO] [stderr] For more information about an error, try `rustc --explain E0412`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/signable.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub entries: UtxoEntries, [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/signable.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/utxo.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub address: Option
, [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/utxo.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/utxo.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub outpoint: TransactionOutpoint, [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/utxo.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/utxo.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub entry: cctx::UtxoEntry, [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/utxo.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[wasm_bindgen(inspectable)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/input.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | if let Some(object) = Object::try_from(&js_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/input.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | } 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] 95 ~ match Object::try_from(&js_value) { Some(object) => { [INFO] [stdout] 96 | let previous_outpoint: TransactionOutpoint = object.get_value("previousOutpoint")?.try_into()?; [INFO] [stdout] ... [INFO] [stdout] 101 | Ok(TransactionInput::new(previous_outpoint, signature_script, sequence, sig_op_count)) [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | Err("TransactionInput must be an object".into()) [INFO] [stdout] 104 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/keypair.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 175 | if let Some(hex_str) = js_value.as_string() { [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/keypair.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 177 | } else if Array::is_array(&js_value) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 175 ~ match js_value.as_string() { Some(hex_str) => { [INFO] [stdout] 176 | Self::try_new(hex_str.as_str()) [INFO] [stdout] 177 ~ } _ => if Array::is_array(&js_value) { [INFO] [stdout] 178 | let array = Uint8Array::new(&js_value); [INFO] [stdout] ... [INFO] [stdout] 181 | Ok(ref_from_abi!(PrivateKey, &js_value)?) [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/keypair.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(hex_str) = js_value.as_string() { [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/keypair.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | } 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] 244 ~ match js_value.as_string() { Some(hex_str) => { [INFO] [stdout] 245 | Self::try_new(hex_str.as_str()) [INFO] [stdout] 246 ~ } _ => { [INFO] [stdout] 247 | Ok(ref_from_abi!(PublicKey, &js_value)?) [INFO] [stdout] 248 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/output.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Some(object) = Object::try_from(&js_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/output.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 99 ~ match Object::try_from(&js_value) { Some(object) => { [INFO] [stdout] 100 | let has_address = Object::has_own(object, &JsValue::from("address")); [INFO] [stdout] ... [INFO] [stdout] 104 | Ok(TransactionOutput::new(value, &script_public_key)) [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | Err("TransactionInput must be an object".into()) [INFO] [stdout] 107 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Ok(tx) = ref_from_abi!(Transaction, js_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/transaction.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } else if let Some(object) = Object::try_from(js_value) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 193 ~ if let Ok(tx) = match { Ok(tx) => { [INFO] [stdout] 194 | Ok(tx) [INFO] [stdout] 195 ~ } _ => if let Some(object) = Object::try_from(js_value) { [INFO] [stdout] 196 | if let Some(tx) = object.try_get_value("tx")? { [INFO] [stdout] ... [INFO] [stdout] 224 | Err("Transaction must be an object".into()) [INFO] [stdout] 225 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:196:16 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(tx) = object.try_get_value("tx")? { [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/transaction.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | } 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] 196 ~ match object.try_get_value("tx")? { Some(tx) => { [INFO] [stdout] 197 | Transaction::try_from(&tx) [INFO] [stdout] 198 ~ } _ => { [INFO] [stdout] 199 | let version = object.get_u16("version")?; [INFO] [stdout] ... [INFO] [stdout] 221 | Transaction::new(version, inputs, outputs, lock_time, subnetwork_id, gas, payload) [INFO] [stdout] 222 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utxo.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if let Ok(utxo_entry) = ref_from_abi!(UtxoEntry, js_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] 281 | Ok(Self::from(utxo_entry)) [INFO] [stdout] 282 | } else if let Ok(utxo_entry_reference) = ref_from_abi!(UtxoEntryReference, js_value) { [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/utxo.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | } else if let Ok(utxo_entry_reference) = ref_from_abi!(UtxoEntryReference, js_value) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utxo.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | } else if let Some(object) = Object::try_from(js_value) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 280 ~ if let Ok(utxo_entry) = match { Ok(utxo_entry) => { [INFO] [stdout] 281 | Ok(Self::from(utxo_entry)) [INFO] [stdout] 282 ~ } _ => if let Ok(utxo_entry_reference) = { match { Ok(utxo_entry_reference) => { [INFO] [stdout] 283 | Ok(utxo_entry_reference) [INFO] [stdout] 284 ~ } _ => if let Some(object) = Object::try_from(js_value) { [INFO] [stdout] 285 | let address = Address::try_from(object.get_value("address")?)?; [INFO] [stdout] ... [INFO] [stdout] 301 | Err("Data type supplied to UtxoEntryReference must be an object".into()) [INFO] [stdout] 302 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: expected item after attributes [INFO] [stdout] --> src/output.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] | ----------------------------------------------- other attributes here [INFO] [stdout] 4 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `.`, `;`, `?`, `}`, or an operator, found `=>` [INFO] [stdout] --> src/transaction.rs:193:41 [INFO] [stdout] | [INFO] [stdout] 193 | if let Ok(tx) = match { Ok(tx) => { [INFO] [stdout] | ^^ expected one of `.`, `;`, `?`, `}`, or an operator [INFO] [stdout] | [INFO] [stdout] help: you might have meant to write a "greater than or equal to" comparison [INFO] [stdout] | [INFO] [stdout] 193 | if let Ok(tx) = match { Ok(tx) >= { [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `.`, `?`, `{`, or an operator, found `}` [INFO] [stdout] --> src/transaction.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 193 | if let Ok(tx) = match { Ok(tx) => { [INFO] [stdout] | ----- while parsing this `match` expression [INFO] [stdout] ... [INFO] [stdout] 225 | }} [INFO] [stdout] | - expected one of `.`, `?`, `{`, or an operator [INFO] [stdout] 226 | } [INFO] [stdout] | ^ unexpected token [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected item after attributes [INFO] [stdout] --> src/utxo.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Clone, Debug, Serialize, Deserialize)] [INFO] [stdout] | ----------------------------------------------- other attributes here [INFO] [stdout] 10 | #[serde(rename_all = "camelCase")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::utxo::UtxoEntries` [INFO] [stdout] --> src/signable.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utxo::UtxoEntries; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no `UtxoEntries` in `utxo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::output::TransactionOutput` [INFO] [stdout] --> src/transaction.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::output::TransactionOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `TransactionOutput` in `output` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these structs instead [INFO] [stdout] | [INFO] [stdout] 3 | use crate::transaction::cctx::TransactionOutput; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] 3 | use kaspa_consensus_core::tx::TransactionOutput; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::TransactionOutput` [INFO] [stdout] --> src/signable.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{Transaction, TransactionInput, TransactionOutput}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `TransactionOutput` in the root [INFO] [stdout] | help: a similar name exists in the module: `TransactionOutpoint` [INFO] [stdout] | [INFO] [stdout] = help: consider importing one of these structs instead: [INFO] [stdout] crate::signable::tx::TransactionOutput [INFO] [stdout] kaspa_consensus_core::tx::TransactionOutput [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ScriptPublicKey` [INFO] [stdout] --> src/imports.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | pub use kaspa_consensus_core::tx::{ScriptPublicKey, TransactionId, TransactionIndexType}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `output::*` [INFO] [stdout] --> src/lib.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use output::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utxo::*` [INFO] [stdout] --> src/lib.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use utxo::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: ReturnWasmAbi` is not satisfied [INFO] [stdout] --> src/signable.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[wasm_bindgen] [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `ReturnWasmAbi` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `ReturnWasmAbi` is implemented for `std::result::Result` [INFO] [stdout] = note: this error originates in the attribute macro `wasm_bindgen::prelude::__wasm_bindgen_class_marker` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: ReturnWasmAbi` is not satisfied [INFO] [stdout] --> src/signer.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | #[wasm_bindgen(js_name = "signTransaction")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ReturnWasmAbi` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `ReturnWasmAbi` is implemented for `std::result::Result` [INFO] [stdout] = note: this error originates in the attribute macro `wasm_bindgen` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: ReturnWasmAbi` is not satisfied [INFO] [stdout] --> src/signable.rs:37:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn from_json(json: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ReturnWasmAbi` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `ReturnWasmAbi` is implemented for `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MutableTransaction: From<&signable::SignableTransaction>` is not satisfied [INFO] [stdout] --> src/signable.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | let hashes = script_hashes(self.clone().into())?; [INFO] [stdout] | ^^^^ the trait `From<&signable::SignableTransaction>` is not implemented for `MutableTransaction`, which is required by `&signable::SignableTransaction: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `From` is implemented for `MutableTransaction` [INFO] [stdout] = help: for that trait implementation, expected `signable::SignableTransaction`, found `&signable::SignableTransaction` [INFO] [stdout] = note: required for `&signable::SignableTransaction` to implement `Into>` [INFO] [stdout] help: consider removing this method call, as the receiver has type `&signable::SignableTransaction` and `&signable::SignableTransaction: From<&signable::SignableTransaction>` trivially holds [INFO] [stdout] | [INFO] [stdout] 44 - let hashes = script_hashes(self.clone().into())?; [INFO] [stdout] 44 + let hashes = script_hashes(self.into())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `map_err` exists for enum `Result`, but its trait bounds were not satisfied [INFO] [stdout] --> src/signer.rs:43:67 [INFO] [stdout] | [INFO] [stdout] 43 | let mtx = sign_transaction(mtx, private_keys, verify_sig).map_err(|err| Error::Custom(format!("Unable to sign: {err:?}")))?; [INFO] [stdout] | ^^^^^^^ method cannot be called on `Result` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/signable.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SignableTransaction { [INFO] [stdout] | ------------------------------ doesn't satisfy `signable::SignableTransaction: Sized` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `{type error}: Sized` [INFO] [stdout] which is required by `signable::SignableTransaction: Sized` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `std::result::Result: ReturnWasmAbi` is not satisfied [INFO] [stdout] --> src/signer.rs:35:100 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn js_sign_transaction(mtx: SignableTransaction, signer: PrivateKeyArray, verify_sig: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ReturnWasmAbi` is not implemented for `std::result::Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `ReturnWasmAbi` is implemented for `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MutableTransaction: From<&signable::SignableTransaction>` is not satisfied [INFO] [stdout] --> src/signer.rs:52:41 [INFO] [stdout] | [INFO] [stdout] 52 | let mtx = sign_transaction_impl(mtx.into(), private_keys, verify_sig)?; [INFO] [stdout] | ^^^^ the trait `From<&signable::SignableTransaction>` is not implemented for `MutableTransaction`, which is required by `&signable::SignableTransaction: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `From` is implemented for `MutableTransaction` [INFO] [stdout] = help: for that trait implementation, expected `signable::SignableTransaction`, found `&signable::SignableTransaction` [INFO] [stdout] = note: required for `&signable::SignableTransaction` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kaspa-consensus-wasm` (lib test) due to 15 previous errors; 3 warnings 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" "ff18710d02232bc00ecf3d3773be4b4ce28691dc4e65c116dd2d733d9c11c5db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff18710d02232bc00ecf3d3773be4b4ce28691dc4e65c116dd2d733d9c11c5db", kill_on_drop: false }` [INFO] [stdout] ff18710d02232bc00ecf3d3773be4b4ce28691dc4e65c116dd2d733d9c11c5db