[INFO] fetching crate diffmetrik 0.3.0... [INFO] checking diffmetrik-0.3.0 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate diffmetrik 0.3.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate diffmetrik 0.3.0 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate diffmetrik 0.3.0 [INFO] finished tweaking crates.io crate diffmetrik 0.3.0 [INFO] tweaked toml for crates.io crate diffmetrik 0.3.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate diffmetrik 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] edf714b0b734bf297544c4f0b151720ee4f5873502245bc24620fa06c1ab7ad5 [INFO] running `Command { std: "docker" "start" "-a" "edf714b0b734bf297544c4f0b151720ee4f5873502245bc24620fa06c1ab7ad5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "edf714b0b734bf297544c4f0b151720ee4f5873502245bc24620fa06c1ab7ad5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "edf714b0b734bf297544c4f0b151720ee4f5873502245bc24620fa06c1ab7ad5", kill_on_drop: false }` [INFO] [stdout] edf714b0b734bf297544c4f0b151720ee4f5873502245bc24620fa06c1ab7ad5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] afcf04b6dc9d8ca1ec7146d3a75024b5d41bddbaae406e4b88b27d0e5b9f9f46 [INFO] running `Command { std: "docker" "start" "-a" "afcf04b6dc9d8ca1ec7146d3a75024b5d41bddbaae406e4b88b27d0e5b9f9f46", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.7 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.13 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Checking unicode-width v0.1.7 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking human_format v1.0.3 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking backtrace v0.3.41 [INFO] [stderr] Compiling syn-mid v0.4.0 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling rustversion v1.0.1 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling proc-macro-error v0.4.4 [INFO] [stderr] Compiling proc-macro-error-attr v0.4.3 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking sysctl v0.4.0 [INFO] [stderr] Compiling structopt-derive v0.4.0 [INFO] [stderr] Checking structopt v0.3.7 [INFO] [stderr] Checking serde_json v1.0.44 [INFO] [stderr] Checking diffmetrik v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:260:14 [INFO] [stdout] | [INFO] [stdout] 260 | .map({ |line| LinuxProcNetDevLine::new(line) }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 260 - .map({ |line| LinuxProcNetDevLine::new(line) }) [INFO] [stdout] 260 + .map(|line| LinuxProcNetDevLine::new(line)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:259:17 [INFO] [stdout] | [INFO] [stdout] 259 | .filter({ |line| line.starts_with("eth") }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 259 - .filter({ |line| line.starts_with("eth") }) [INFO] [stdout] 259 + .filter(|line| line.starts_with("eth")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:258:14 [INFO] [stdout] | [INFO] [stdout] 258 | .map({ |line| line.trim() }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 258 - .map({ |line| line.trim() }) [INFO] [stdout] 258 + .map(|line| line.trim()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:260:14 [INFO] [stdout] | [INFO] [stdout] 260 | .map({ |line| LinuxProcNetDevLine::new(line) }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 260 - .map({ |line| LinuxProcNetDevLine::new(line) }) [INFO] [stdout] 260 + .map(|line| LinuxProcNetDevLine::new(line)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/mod.rs:63:38 [INFO] [stdout] | [INFO] [stdout] 63 | metrics.sort_unstable_by_key({ |a| a.time }); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 63 - metrics.sort_unstable_by_key({ |a| a.time }); [INFO] [stdout] 63 + metrics.sort_unstable_by_key(|a| a.time); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:259:17 [INFO] [stdout] | [INFO] [stdout] 259 | .filter({ |line| line.starts_with("eth") }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 259 - .filter({ |line| line.starts_with("eth") }) [INFO] [stdout] 259 + .filter(|line| line.starts_with("eth")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/network.rs:258:14 [INFO] [stdout] | [INFO] [stdout] 258 | .map({ |line| line.trim() }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 258 - .map({ |line| line.trim() }) [INFO] [stdout] 258 + .map(|line| line.trim()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/metrics/mod.rs:63:38 [INFO] [stdout] | [INFO] [stdout] 63 | metrics.sort_unstable_by_key({ |a| a.time }); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 63 - metrics.sort_unstable_by_key({ |a| a.time }); [INFO] [stdout] 63 + metrics.sort_unstable_by_key(|a| a.time); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `daemon` is never read [INFO] [stdout] --> src/cli/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Opt { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub daemon: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Opt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/metrics/network.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 200 | struct LinuxProcNetDevLine { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 201 | iface: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 202 | rx_bytes: u64, [INFO] [stdout] 203 | rx_packets: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 204 | rx_errors: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | rx_dropped_missed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 206 | rx_fifo_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 207 | rx_length_over_ctc_frame_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | rx_compressed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 209 | multicast: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 210 | tx_bytes: u64, [INFO] [stdout] 211 | tx_packets: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 212 | tx_errors: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 213 | tx_dropped: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 214 | tx_fifo_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 215 | collisions: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 216 | tx_carrier_aborted_window_heartbeat_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 217 | tx_compressed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LinuxProcNetDevLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/storage/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 18 | IO { [INFO] [stdout] | -- field in this variant [INFO] [stdout] 19 | source: std::io::Error, [INFO] [stdout] 20 | path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StorageError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [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/metrics/mod.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TimeTaggedMetric` [INFO] [stdout] 38 | pub struct TimeTaggedMetric { [INFO] [stdout] | ---------------- `TimeTaggedMetric` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/mod.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TimeTaggedMetric` [INFO] [stdout] 38 | pub struct TimeTaggedMetric { [INFO] [stdout] | ---------------- `TimeTaggedMetric` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/mod.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Metrics` [INFO] [stdout] 46 | pub struct Metrics { [INFO] [stdout] | ------- `Metrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/mod.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Metrics` [INFO] [stdout] 46 | pub struct Metrics { [INFO] [stdout] | ------- `Metrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/cpu/mod.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CPUMetrics` [INFO] [stdout] 4 | pub struct CPUMetrics { [INFO] [stdout] | ---------- `CPUMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/cpu/mod.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CPUMetrics` [INFO] [stdout] 4 | pub struct CPUMetrics { [INFO] [stdout] | ---------- `CPUMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/network.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkMetrics` [INFO] [stdout] 133 | pub struct NetworkMetrics { [INFO] [stdout] | -------------- `NetworkMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/network.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkMetrics` [INFO] [stdout] 133 | pub struct NetworkMetrics { [INFO] [stdout] | -------------- `NetworkMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/storage/mod.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TimeTagged` [INFO] [stdout] 50 | struct TimeTagged { [INFO] [stdout] | ---------- `TimeTagged` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/storage/mod.rs:49:28 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TimeTagged` [INFO] [stdout] 50 | struct TimeTagged { [INFO] [stdout] | ---------- `TimeTagged` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `daemon` is never read [INFO] [stdout] --> src/cli/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Opt { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub daemon: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Opt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/metrics/network.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 200 | struct LinuxProcNetDevLine { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 201 | iface: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 202 | rx_bytes: u64, [INFO] [stdout] 203 | rx_packets: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 204 | rx_errors: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | rx_dropped_missed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 206 | rx_fifo_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 207 | rx_length_over_ctc_frame_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | rx_compressed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 209 | multicast: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 210 | tx_bytes: u64, [INFO] [stdout] 211 | tx_packets: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 212 | tx_errors: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 213 | tx_dropped: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 214 | tx_fifo_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 215 | collisions: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 216 | tx_carrier_aborted_window_heartbeat_errors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 217 | tx_compressed: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LinuxProcNetDevLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/storage/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 18 | IO { [INFO] [stdout] | -- field in this variant [INFO] [stdout] 19 | source: std::io::Error, [INFO] [stdout] 20 | path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StorageError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [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/metrics/mod.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TimeTaggedMetric` [INFO] [stdout] 38 | pub struct TimeTaggedMetric { [INFO] [stdout] | ---------------- `TimeTaggedMetric` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/mod.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TimeTaggedMetric` [INFO] [stdout] 38 | pub struct TimeTaggedMetric { [INFO] [stdout] | ---------------- `TimeTaggedMetric` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/mod.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Metrics` [INFO] [stdout] 46 | pub struct Metrics { [INFO] [stdout] | ------- `Metrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/mod.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Metrics` [INFO] [stdout] 46 | pub struct Metrics { [INFO] [stdout] | ------- `Metrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/cpu/mod.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CPUMetrics` [INFO] [stdout] 4 | pub struct CPUMetrics { [INFO] [stdout] | ---------- `CPUMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/cpu/mod.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Debug, Clone, Copy, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CPUMetrics` [INFO] [stdout] 4 | pub struct CPUMetrics { [INFO] [stdout] | ---------- `CPUMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/metrics/network.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkMetrics` [INFO] [stdout] 133 | pub struct NetworkMetrics { [INFO] [stdout] | -------------- `NetworkMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/metrics/network.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkMetrics` [INFO] [stdout] 133 | pub struct NetworkMetrics { [INFO] [stdout] | -------------- `NetworkMetrics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/storage/mod.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TimeTagged` [INFO] [stdout] 50 | struct TimeTagged { [INFO] [stdout] | ---------- `TimeTagged` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/storage/mod.rs:49:28 [INFO] [stdout] | [INFO] [stdout] 49 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TimeTagged` [INFO] [stdout] 50 | struct TimeTagged { [INFO] [stdout] | ---------- `TimeTagged` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (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/storage/mod.rs:201:21 [INFO] [stdout] | [INFO] [stdout] 201 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TestStruct` [INFO] [stdout] 202 | struct TestStruct { [INFO] [stdout] | ---------- `TestStruct` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/storage/mod.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TestStruct` [INFO] [stdout] 202 | struct TestStruct { [INFO] [stdout] | ---------- `TestStruct` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage/mod.rs:226:38 [INFO] [stdout] | [INFO] [stdout] 226 | Err(e) => assert!(false, format!("error resetting file: {}", e)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 226 - Err(e) => assert!(false, format!("error resetting file: {}", e)), [INFO] [stdout] 226 + Err(e) => assert!(false, "error resetting file: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage/mod.rs:249:38 [INFO] [stdout] | [INFO] [stdout] 249 | Err(e) => assert!(false, format!("writing failed with {}", e)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 249 - Err(e) => assert!(false, format!("writing failed with {}", e)), [INFO] [stdout] 249 + Err(e) => assert!(false, "writing failed with {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage/mod.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | Err(e) => assert!(false, format!("error reading: {}", e)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 296 - Err(e) => assert!(false, format!("error reading: {}", e)), [INFO] [stdout] 296 + Err(e) => assert!(false, "error reading: {}", e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.25s [INFO] running `Command { std: "docker" "inspect" "afcf04b6dc9d8ca1ec7146d3a75024b5d41bddbaae406e4b88b27d0e5b9f9f46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afcf04b6dc9d8ca1ec7146d3a75024b5d41bddbaae406e4b88b27d0e5b9f9f46", kill_on_drop: false }` [INFO] [stdout] afcf04b6dc9d8ca1ec7146d3a75024b5d41bddbaae406e4b88b27d0e5b9f9f46