[INFO] fetching crate jmt 0.10.0... [INFO] checking jmt-0.10.0 against try#7014e13d5becc920d4bea3cd87942c8a13d359bf+rustflags=-Dtail_expr_drop_order for pr-129864 [INFO] extracting crate jmt 0.10.0 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate jmt 0.10.0 on toolchain 7014e13d5becc920d4bea3cd87942c8a13d359bf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate jmt 0.10.0 [INFO] finished tweaking crates.io crate jmt 0.10.0 [INFO] tweaked toml for crates.io crate jmt 0.10.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 118 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding bit-vec v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hashbrown v0.13.2 (available: v0.14.5) [INFO] [stderr] Adding ics23 v0.11.3 (available: v0.12.0) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding proc-macro2 v0.4.30 (available: v1.0.86) [INFO] [stderr] Adding proptest-derive v0.3.0 (available: v0.5.0) [INFO] [stderr] Adding prost v0.12.6 (available: v0.13.3) [INFO] [stderr] Adding prost-derive v0.12.6 (available: v0.13.3) [INFO] [stderr] Adding quick-error v1.2.3 (available: v2.0.1) [INFO] [stderr] Adding quote v0.6.13 (available: v1.0.37) [INFO] [stderr] Adding syn v0.15.44 (available: v2.0.77) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding unicode-xid v0.1.0 (available: v0.2.6) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 48435a304d485db38f70de23d74e92202f9c7c164bf72e9b694283df61b524ad [INFO] running `Command { std: "docker" "start" "-a" "48435a304d485db38f70de23d74e92202f9c7c164bf72e9b694283df61b524ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "48435a304d485db38f70de23d74e92202f9c7c164bf72e9b694283df61b524ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48435a304d485db38f70de23d74e92202f9c7c164bf72e9b694283df61b524ad", kill_on_drop: false }` [INFO] [stdout] 48435a304d485db38f70de23d74e92202f9c7c164bf72e9b694283df61b524ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail_expr_drop_order" "-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" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9362102fa9f748c879fe166b9de24920b3caabafb437584ec1e3f06901deb584 [INFO] running `Command { std: "docker" "start" "-a" "9362102fa9f748c879fe166b9de24920b3caabafb437584ec1e3f06901deb584", kill_on_drop: false }` [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling blake3 v1.5.4 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling borsh v1.5.1 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking ripemd v0.1.3 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling toml_edit v0.22.22 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling proptest-derive v0.3.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling syn_derive v0.1.8 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling borsh-derive v1.5.1 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking proptest v1.5.0 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking informalsystems-pbjson v0.7.0 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking ics23 v0.11.3 [INFO] [stderr] Checking jmt v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function `from_bit_iter` is never used [INFO] [stdout] --> src/bytes32ext.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Bytes32Ext: Index + Sized { [INFO] [stdout] | ---------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 19 | fn from_bit_iter(iter: impl ExactSizeIterator) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:869:10 [INFO] [stdout] | [INFO] [stdout] 869 | #[derive(FromPrimitive, ToPrimitive, BorshDeserialize, BorshSerialize)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NodeTag` [INFO] [stdout] 870 | #[borsh(use_discriminant = false)] [INFO] [stdout] 871 | enum NodeTag { [INFO] [stdout] | ------- `NodeTag` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:869:25 [INFO] [stdout] | [INFO] [stdout] 869 | #[derive(FromPrimitive, ToPrimitive, BorshDeserialize, BorshSerialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NodeTag` [INFO] [stdout] 870 | #[borsh(use_discriminant = false)] [INFO] [stdout] 871 | enum NodeTag { [INFO] [stdout] | ------- `NodeTag` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `MockTreeStore` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/tests/jellyfish_merkle.rs:640:13 [INFO] [stdout] | [INFO] [stdout] 613 | let mut batch_one_by_one = TreeUpdateBatch::default(); [INFO] [stdout] | -------------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 640 | let db = MockTreeStore::default(); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_RootHash` [INFO] [stdout] 172 | pub struct RootHash(pub [u8; 32]); [INFO] [stdout] | -------- `RootHash` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:213:30 [INFO] [stdout] | [INFO] [stdout] 213 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_KeyHash` [INFO] [stdout] 214 | pub struct KeyHash(pub [u8; 32]); [INFO] [stdout] | ------- `KeyHash` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:229:30 [INFO] [stdout] | [INFO] [stdout] 229 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_ValueHash` [INFO] [stdout] ... [INFO] [stdout] 233 | pub struct ValueHash(pub [u8; 32]); [INFO] [stdout] | --------- `ValueHash` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 50 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_NodeKey` [INFO] [stdout] 51 | pub struct NodeKey { [INFO] [stdout] | ------- `NodeKey` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:145:30 [INFO] [stdout] | [INFO] [stdout] 145 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_Child` [INFO] [stdout] 146 | pub struct Child { [INFO] [stdout] | ----- `Child` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:869:10 [INFO] [stdout] | [INFO] [stdout] 869 | #[derive(FromPrimitive, ToPrimitive, BorshDeserialize, BorshSerialize)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NodeTag` [INFO] [stdout] 870 | #[borsh(use_discriminant = false)] [INFO] [stdout] 871 | enum NodeTag { [INFO] [stdout] | ------- `NodeTag` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node_type.rs:869:25 [INFO] [stdout] | [INFO] [stdout] 869 | #[derive(FromPrimitive, ToPrimitive, BorshDeserialize, BorshSerialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `ToPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NodeTag` [INFO] [stdout] 870 | #[borsh(use_discriminant = false)] [INFO] [stdout] 871 | enum NodeTag { [INFO] [stdout] | ------- `NodeTag` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/types/proof.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg_attr(all(test, feature = "std"), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_SparseMerkleNode` [INFO] [stdout] ... [INFO] [stdout] 38 | pub(crate) enum SparseMerkleNode { [INFO] [stdout] | ---------------- `SparseMerkleNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/types/proof.rs:60:47 [INFO] [stdout] | [INFO] [stdout] 60 | #[cfg_attr(all(test, feature = "std"), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_SparseMerkleInternalNode` [INFO] [stdout] 61 | pub(crate) struct SparseMerkleInternalNode { [INFO] [stdout] | ------------------------ `SparseMerkleInternalNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/writer.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | #[cfg_attr(any(test), derive(Arbitrary))] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Arbitrary` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_ARBITRARY_FOR_StaleNodeIndex` [INFO] [stdout] 105 | pub struct StaleNodeIndex { [INFO] [stdout] | -------------- `StaleNodeIndex` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Arbitrary` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Arbitrary` may come from an old version of the `proptest_derive` crate, try updating your dependency with `cargo update -p proptest_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `jmt` (lib test) due to 2 previous errors; 10 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9362102fa9f748c879fe166b9de24920b3caabafb437584ec1e3f06901deb584", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9362102fa9f748c879fe166b9de24920b3caabafb437584ec1e3f06901deb584", kill_on_drop: false }` [INFO] [stdout] 9362102fa9f748c879fe166b9de24920b3caabafb437584ec1e3f06901deb584