[INFO] fetching crate shredder 0.2.0... [INFO] checking shredder-0.2.0 against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] extracting crate shredder 0.2.0 into /workspace/builds/worker-2-tc1/source [INFO] validating manifest of crates.io crate shredder 0.2.0 on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate shredder 0.2.0 [INFO] finished tweaking crates.io crate shredder 0.2.0 [INFO] tweaked toml for crates.io crate shredder 0.2.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 76 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding parking_lot v0.11.2 (available: v0.12.3) [INFO] [stderr] Adding parking_lot_core v0.8.6 (available: v0.9.10) [INFO] [stderr] Adding redox_syscall v0.2.16 (available: v0.5.6) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding synstructure v0.12.6 (available: v0.13.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dynqueue v0.3.0 [INFO] [stderr] Downloaded rental v0.5.6 [INFO] [stderr] Downloaded rental-impl v0.5.5 [INFO] [stderr] Downloaded shredder_derive v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 502f0df84cffa6daf5c865a7b1c91a2096b42ee442db555fc7c19c3c8fc07198 [INFO] running `Command { std: "docker" "start" "-a" "502f0df84cffa6daf5c865a7b1c91a2096b42ee442db555fc7c19c3c8fc07198", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "502f0df84cffa6daf5c865a7b1c91a2096b42ee442db555fc7c19c3c8fc07198", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "502f0df84cffa6daf5c865a7b1c91a2096b42ee442db555fc7c19c3c8fc07198", kill_on_drop: false }` [INFO] [stdout] 502f0df84cffa6daf5c865a7b1c91a2096b42ee442db555fc7c19c3c8fc07198 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b9eac3fe6c7cae68abc69f71178906d9fb6d7ed5cf2d29e96719bef56c4a116b [INFO] running `Command { std: "docker" "start" "-a" "b9eac3fe6c7cae68abc69f71178906d9fb6d7ed5cf2d29e96719bef56c4a116b", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking parking_lot_core v0.8.6 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Compiling trybuild v1.0.99 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking dynqueue v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling rental-impl v0.5.5 [INFO] [stderr] Compiling shredder_derive v0.2.0 [INFO] [stderr] Checking rental v0.5.6 [INFO] [stderr] Checking shredder v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/concurrency/chunked_ll.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | Box::from_raw(new_head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 167 | let _ = Box::from_raw(new_head); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `do_stuff` is never used [INFO] [stdout] --> src/smart_ptr/gc.rs:531:16 [INFO] [stdout] | [INFO] [stdout] 530 | trait NoSize: Scan { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 531 | fn do_stuff(&self); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/concurrency/chunked_ll.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | Box::from_raw(new_head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 167 | let _ = Box::from_raw(new_head); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `isize` [INFO] [stdout] ... [INFO] [stdout] 69 | test_no_panic_finalize!(isize, 1); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(forgetting_copy_types)]` on by default [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `usize` [INFO] [stdout] ... [INFO] [stdout] 70 | test_no_panic_finalize!(usize, 1); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i8` [INFO] [stdout] ... [INFO] [stdout] 72 | test_no_panic_finalize!(i8, 1); [INFO] [stdout] | ------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `u8` [INFO] [stdout] ... [INFO] [stdout] 73 | test_no_panic_finalize!(u8, 1); [INFO] [stdout] | ------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i16` [INFO] [stdout] ... [INFO] [stdout] 75 | test_no_panic_finalize!(i16, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `u16` [INFO] [stdout] ... [INFO] [stdout] 76 | test_no_panic_finalize!(u16, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i32` [INFO] [stdout] ... [INFO] [stdout] 78 | test_no_panic_finalize!(i32, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `u32` [INFO] [stdout] ... [INFO] [stdout] 79 | test_no_panic_finalize!(u32, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i64` [INFO] [stdout] ... [INFO] [stdout] 81 | test_no_panic_finalize!(i64, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `u64` [INFO] [stdout] ... [INFO] [stdout] 82 | test_no_panic_finalize!(u64, 1); [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `i128` [INFO] [stdout] ... [INFO] [stdout] 84 | test_no_panic_finalize!(i128, 1); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `u128` [INFO] [stdout] ... [INFO] [stdout] 85 | test_no_panic_finalize!(u128, 1); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `f32` [INFO] [stdout] ... [INFO] [stdout] 87 | test_no_panic_finalize!(f32, 1.0); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `f64` [INFO] [stdout] ... [INFO] [stdout] 88 | test_no_panic_finalize!(f64, 1.0); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::forget` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/std_impls/value_types.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | forget(v); [INFO] [stdout] | ^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Instant` [INFO] [stdout] ... [INFO] [stdout] 91 | test_no_panic_finalize!(Instant, Instant::now()); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_no_panic_finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 63 - forget(v); [INFO] [stdout] 63 + let _ = v; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [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] --> tests/finalize.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Finalize, FinalizeFields)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Finalize_FOR_Test` [INFO] [stdout] 17 | struct Test { [INFO] [stdout] | ---- `Test` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Finalize` (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] --> tests/finalize.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Finalize, FinalizeFields)] [INFO] [stdout] | ^------------- [INFO] [stdout] | | [INFO] [stdout] | `FinalizeFields` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_FinalizeFields_FOR_Test` [INFO] [stdout] 17 | struct Test { [INFO] [stdout] | ---- `Test` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FinalizeFields` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FinalizeFields` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `FinalizeFields` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [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] --> tests/readme.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_Node` [INFO] [stdout] 8 | struct Node { [INFO] [stdout] | ---- `Node` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/readme.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_Node` [INFO] [stdout] 8 | struct Node { [INFO] [stdout] | ---- `Node` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/readme.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_Node` [INFO] [stdout] 8 | struct Node { [INFO] [stdout] | ---- `Node` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `derive_trybuild` is never used [INFO] [stdout] --> tests/derive_macro.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn derive_trybuild() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [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] --> tests/stress.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_DirectedGraphNode` [INFO] [stdout] 10 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/stress.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_DirectedGraphNode` [INFO] [stdout] 10 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/stress.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_DirectedGraphNode` [INFO] [stdout] 10 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> tests/downcast.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_Sub` [INFO] [stdout] 9 | #[shredder(can_deref)] [INFO] [stdout] 10 | struct Sub; [INFO] [stdout] | --- `Sub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_Sub` [INFO] [stdout] 9 | #[shredder(can_deref)] [INFO] [stdout] 10 | struct Sub; [INFO] [stdout] | --- `Sub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_Sub` [INFO] [stdout] 9 | #[shredder(can_deref)] [INFO] [stdout] 10 | struct Sub; [INFO] [stdout] | --- `Sub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDeref` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDeref_FOR_Sub` [INFO] [stdout] 9 | #[shredder(can_deref)] [INFO] [stdout] 10 | struct Sub; [INFO] [stdout] | --- `Sub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_NotSub` [INFO] [stdout] 15 | #[shredder(can_deref)] [INFO] [stdout] 16 | struct NotSub; [INFO] [stdout] | ------ `NotSub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_NotSub` [INFO] [stdout] 15 | #[shredder(can_deref)] [INFO] [stdout] 16 | struct NotSub; [INFO] [stdout] | ------ `NotSub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_NotSub` [INFO] [stdout] 15 | #[shredder(can_deref)] [INFO] [stdout] 16 | struct NotSub; [INFO] [stdout] | ------ `NotSub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/downcast.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDeref` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDeref_FOR_NotSub` [INFO] [stdout] 15 | #[shredder(can_deref)] [INFO] [stdout] 16 | struct NotSub; [INFO] [stdout] | ------ `NotSub` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_TreeNode` [INFO] [stdout] 10 | struct TreeNode(Gc, Gc); [INFO] [stdout] | -------- `TreeNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_TreeNode` [INFO] [stdout] 10 | struct TreeNode(Gc, Gc); [INFO] [stdout] | -------- `TreeNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_TreeNode` [INFO] [stdout] 10 | struct TreeNode(Gc, Gc); [INFO] [stdout] | -------- `TreeNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_NumberNode` [INFO] [stdout] 42 | struct NumberNode(i64); [INFO] [stdout] | ---------- `NumberNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_NumberNode` [INFO] [stdout] 42 | struct NumberNode(i64); [INFO] [stdout] | ---------- `NumberNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [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] --> tests/unsized.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_NumberNode` [INFO] [stdout] 42 | struct NumberNode(i64); [INFO] [stdout] | ---------- `NumberNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_StringNode` [INFO] [stdout] 55 | struct StringNode(String); [INFO] [stdout] | ---------- `StringNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_StringNode` [INFO] [stdout] 55 | struct StringNode(String); [INFO] [stdout] | ---------- `StringNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/unsized.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_StringNode` [INFO] [stdout] 55 | struct StringNode(String); [INFO] [stdout] | ---------- `StringNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [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] --> tests/integration.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_DirectedGraphNode` [INFO] [stdout] 16 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_DirectedGraphNode` [INFO] [stdout] 16 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_DirectedGraphNode` [INFO] [stdout] 16 | struct DirectedGraphNode { [INFO] [stdout] | ----------------- `DirectedGraphNode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | #[derive(Debug, Default, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_Connection` [INFO] [stdout] 121 | struct Connection { [INFO] [stdout] | ---------- `Connection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | #[derive(Debug, Default, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_Connection` [INFO] [stdout] 121 | struct Connection { [INFO] [stdout] | ---------- `Connection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | #[derive(Debug, Default, Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcDrop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcDrop_FOR_Connection` [INFO] [stdout] 121 | struct Connection { [INFO] [stdout] | ---------- `Connection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Scan` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_Scan_FOR_Finalizable` [INFO] [stdout] 164 | #[shredder(cant_drop)] [INFO] [stdout] 165 | struct Finalizable<'a> { [INFO] [stdout] | ----------- `Finalizable` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (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] --> tests/integration.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | #[derive(Scan)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `GcSafe` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_shredder_marker_GcSafe_FOR_Finalizable` [INFO] [stdout] 164 | #[shredder(cant_drop)] [INFO] [stdout] 165 | struct Finalizable<'a> { [INFO] [stdout] | ----------- `Finalizable` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Scan` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Scan` may come from an old version of the `shredder_derive` crate, try updating your dependency with `cargo update -p shredder_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 `Scan` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.89s [INFO] running `Command { std: "docker" "inspect" "b9eac3fe6c7cae68abc69f71178906d9fb6d7ed5cf2d29e96719bef56c4a116b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9eac3fe6c7cae68abc69f71178906d9fb6d7ed5cf2d29e96719bef56c4a116b", kill_on_drop: false }` [INFO] [stdout] b9eac3fe6c7cae68abc69f71178906d9fb6d7ed5cf2d29e96719bef56c4a116b