[INFO] crate metrix 0.9.2 is already in cache [INFO] extracting crate metrix 0.9.2 into work/ex/clippy-test-run/sources/stable/reg/metrix/0.9.2 [INFO] extracting crate metrix 0.9.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/metrix/0.9.2 [INFO] validating manifest of metrix-0.9.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of metrix-0.9.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing metrix-0.9.2 [INFO] finished frobbing metrix-0.9.2 [INFO] frobbed toml for metrix-0.9.2 written to work/ex/clippy-test-run/sources/stable/reg/metrix/0.9.2/Cargo.toml [INFO] started frobbing metrix-0.9.2 [INFO] finished frobbing metrix-0.9.2 [INFO] frobbed toml for metrix-0.9.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/metrix/0.9.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting metrix-0.9.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/metrix/0.9.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] af047700e17cd274ee65178ec3d29803e594d58da552843cd2655a32616d528c [INFO] running `"docker" "start" "-a" "af047700e17cd274ee65178ec3d29803e594d58da552843cd2655a32616d528c"` [INFO] [stderr] Checking metrics v0.2.3 [INFO] [stderr] Checking exponential-decay-histogram v0.1.3 [INFO] [stderr] Checking metrix v0.9.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/instruments/histogram.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | quantiles: quantiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `quantiles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/instruments/mod.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | label: label, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/instruments/histogram.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | quantiles: quantiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `quantiles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/instruments/mod.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | label: label, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/instruments/meter.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | meter_snapshot [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/instruments/meter.rs:97:30 [INFO] [stderr] | [INFO] [stderr] 97 | let meter_snapshot = MeterSnapshot { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 98 | | name: &self.name, [INFO] [stderr] 99 | | title: self.title.as_ref().map(|x| &**x), [INFO] [stderr] 100 | | description: self.description.as_ref().map(|x| &**x), [INFO] [stderr] ... | [INFO] [stderr] 137 | | }, [INFO] [stderr] 138 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/instruments/other_instruments/last_occurrence_tracker.rs:100:16 [INFO] [stderr] | [INFO] [stderr] 100 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 101 | | if self.make_none_zero() { [INFO] [stderr] 102 | | into.items.push((self.name.clone(), 0.into())); [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 100 | } else if self.make_none_zero() { [INFO] [stderr] 101 | into.items.push((self.name.clone(), 0.into())); [INFO] [stderr] 102 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MeterRate`, `MeterSnapshot` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use instruments::meter::{MeterRate, MeterSnapshot}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Instrument`, `Update` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:4:43 [INFO] [stderr] | [INFO] [stderr] 4 | use instruments::{BorrowedLabelAndUpdate, Instrument, Meter, Update, Updates}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ItemKind` [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use snapshot::{ItemKind, Snapshot}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | meter_snapshot [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:93:30 [INFO] [stderr] | [INFO] [stderr] 93 | let meter_snapshot = MeterSnapshot { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 94 | | name: &self.name, [INFO] [stderr] 95 | | title: self.title.as_ref().map(|x| &**x), [INFO] [stderr] 96 | | description: self.description.as_ref().map(|x| &**x), [INFO] [stderr] ... | [INFO] [stderr] 133 | | }, [INFO] [stderr] 134 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/util.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | const TITLE_FIELD_LABEL: &'static str = "_title"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/util.rs:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | const DESCRIPTION_FIELD_LABEL: &'static str = "_description"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/instruments/meter.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | meter_snapshot [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/instruments/meter.rs:97:30 [INFO] [stderr] | [INFO] [stderr] 97 | let meter_snapshot = MeterSnapshot { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 98 | | name: &self.name, [INFO] [stderr] 99 | | title: self.title.as_ref().map(|x| &**x), [INFO] [stderr] 100 | | description: self.description.as_ref().map(|x| &**x), [INFO] [stderr] ... | [INFO] [stderr] 137 | | }, [INFO] [stderr] 138 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/instruments/other_instruments/last_occurrence_tracker.rs:100:16 [INFO] [stderr] | [INFO] [stderr] 100 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 101 | | if self.make_none_zero() { [INFO] [stderr] 102 | | into.items.push((self.name.clone(), 0.into())); [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 100 | } else if self.make_none_zero() { [INFO] [stderr] 101 | into.items.push((self.name.clone(), 0.into())); [INFO] [stderr] 102 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MeterRate`, `MeterSnapshot` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:3:26 [INFO] [stderr] | [INFO] [stderr] 3 | use instruments::meter::{MeterRate, MeterSnapshot}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Instrument`, `Update` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:4:43 [INFO] [stderr] | [INFO] [stderr] 4 | use instruments::{BorrowedLabelAndUpdate, Instrument, Meter, Update, Updates}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ItemKind` [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use snapshot::{ItemKind, Snapshot}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | meter_snapshot [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/instruments/other_instruments/value_meter.rs:93:30 [INFO] [stderr] | [INFO] [stderr] 93 | let meter_snapshot = MeterSnapshot { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 94 | | name: &self.name, [INFO] [stderr] 95 | | title: self.title.as_ref().map(|x| &**x), [INFO] [stderr] 96 | | description: self.description.as_ref().map(|x| &**x), [INFO] [stderr] ... | [INFO] [stderr] 133 | | }, [INFO] [stderr] 134 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/util.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | const TITLE_FIELD_LABEL: &'static str = "_title"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/util.rs:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | const DESCRIPTION_FIELD_LABEL: &'static str = "_description"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `Descriptive` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:7:6 [INFO] [stderr] | [INFO] [stderr] 7 | use {Descriptive, HandlesObservations, Observation, PutsSnapshot}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Descriptive` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:7:6 [INFO] [stderr] | [INFO] [stderr] 7 | use {Descriptive, HandlesObservations, Observation, PutsSnapshot}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `into` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | fn put_values_into_snapshot(&self, into: &mut Snapshot, descriptive: bool) { [INFO] [stderr] | ^^^^ help: consider using `_into` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `descriptive` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:113:61 [INFO] [stderr] | [INFO] [stderr] 113 | fn put_values_into_snapshot(&self, into: &mut Snapshot, descriptive: bool) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_descriptive` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `into` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | fn put_values_into_snapshot(&self, into: &mut Snapshot, descriptive: bool) { [INFO] [stderr] | ^^^^ help: consider using `_into` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `descriptive` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:113:61 [INFO] [stderr] | [INFO] [stderr] 113 | fn put_values_into_snapshot(&self, into: &mut Snapshot, descriptive: bool) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_descriptive` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lower_cutoff` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | lower_cutoff: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `one_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | one_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `five_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | five_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fifteen_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | fifteen_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_with_defaults` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new_with_defaults>(name: T) -> MultiMeter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `name` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn name(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_name` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn set_name>(&mut self, name: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_title` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn set_title>(&mut self, title: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_description` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn set_description>(&mut self, description: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_enable_one_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn set_enable_one_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_five_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn set_five_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_fifteen_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn set_fifteen_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_lower_cutoff` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn set_lower_cutoff(&mut self, cutoff: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_meter` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | / pub fn add_meter, T: Into, D: Into>( [INFO] [stderr] 95 | | &mut self, [INFO] [stderr] 96 | | label: L, [INFO] [stderr] 97 | | name: N, [INFO] [stderr] ... | [INFO] [stderr] 110 | | self.meters.push((label, meter)) [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lower_cutoff` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | lower_cutoff: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `one_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | one_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `five_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | five_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `fifteen_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | fifteen_minute_rate_enabled: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_with_defaults` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn new_with_defaults>(name: T) -> MultiMeter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `name` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn name(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_name` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn set_name>(&mut self, name: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_title` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn set_title>(&mut self, title: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_description` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn set_description>(&mut self, description: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_enable_one_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn set_enable_one_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_five_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn set_five_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_fifteen_minute_rate_enabled` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn set_fifteen_minute_rate_enabled(&mut self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_lower_cutoff` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn set_lower_cutoff(&mut self, cutoff: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_meter` [INFO] [stderr] --> src/instruments/other_instruments/multi_meter.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | / pub fn add_meter, T: Into, D: Into>( [INFO] [stderr] 95 | | &mut self, [INFO] [stderr] 96 | | label: L, [INFO] [stderr] 97 | | name: N, [INFO] [stderr] ... | [INFO] [stderr] 110 | | self.meters.push((label, meter)) [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / let _ = self [INFO] [stderr] 223 | | .sender [INFO] [stderr] 224 | | .send(DriverMessage::SetProcessingStrategy(strategy)); [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = self.sender.send(DriverMessage::Pause); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | let _ = self.sender.send(DriverMessage::Resume); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | / let _ = self [INFO] [stderr] 241 | | .sender [INFO] [stderr] 242 | | .send(DriverMessage::GetSnapshotSync(snapshot, tx, descriptive)); [INFO] [stderr] | |_____________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:256:9 [INFO] [stderr] | [INFO] [stderr] 256 | / let _ = self [INFO] [stderr] 257 | | .sender [INFO] [stderr] 258 | | .send(DriverMessage::GetSnapshotAsync(snapshot, tx, descriptive)); [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | / let _ = self [INFO] [stderr] 309 | | .sender [INFO] [stderr] 310 | | .send(DriverMessage::AddProcessor(Box::new(processor))); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | / let _ = self [INFO] [stderr] 315 | | .sender [INFO] [stderr] 316 | | .send(DriverMessage::AddSnapshooter(Box::new(snapshooter))); [INFO] [stderr] | |________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:393:21 [INFO] [stderr] | [INFO] [stderr] 393 | let _ = back_channel.send(snapshot); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/driver.rs:723:49 [INFO] [stderr] | [INFO] [stderr] 723 | let nanos = (d.as_secs() * 1_000_000_000) + (d.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(d.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / let _ = self [INFO] [stderr] 223 | | .sender [INFO] [stderr] 224 | | .send(DriverMessage::SetProcessingStrategy(strategy)); [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = self.sender.send(DriverMessage::Pause); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | let _ = self.sender.send(DriverMessage::Resume); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | / let _ = self [INFO] [stderr] 241 | | .sender [INFO] [stderr] 242 | | .send(DriverMessage::GetSnapshotSync(snapshot, tx, descriptive)); [INFO] [stderr] | |_____________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:256:9 [INFO] [stderr] | [INFO] [stderr] 256 | / let _ = self [INFO] [stderr] 257 | | .sender [INFO] [stderr] 258 | | .send(DriverMessage::GetSnapshotAsync(snapshot, tx, descriptive)); [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | / let _ = self [INFO] [stderr] 309 | | .sender [INFO] [stderr] 310 | | .send(DriverMessage::AddProcessor(Box::new(processor))); [INFO] [stderr] | |____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | / let _ = self [INFO] [stderr] 315 | | .sender [INFO] [stderr] 316 | | .send(DriverMessage::AddSnapshooter(Box::new(snapshooter))); [INFO] [stderr] | |________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/driver.rs:393:21 [INFO] [stderr] | [INFO] [stderr] 393 | let _ = back_channel.send(snapshot); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/instruments/meter.rs:229:29 [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(self.name.clone(), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(&(*self.name).clone(), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(&str::clone(self.name), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/driver.rs:723:49 [INFO] [stderr] | [INFO] [stderr] 723 | let nanos = (d.as_secs() * 1_000_000_000) + (d.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(d.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/instruments/meter.rs:229:29 [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(self.name.clone(), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(&(*self.name).clone(), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 229 | into_container.push(&str::clone(self.name), ItemKind::Snapshot(new_level)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/processor.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | let _ = cockpit.add_panel(panel); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:271:24 [INFO] [stderr] | [INFO] [stderr] 271 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:277:24 [INFO] [stderr] | [INFO] [stderr] 277 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:283:24 [INFO] [stderr] | [INFO] [stderr] 283 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:301:23 [INFO] [stderr] | [INFO] [stderr] 301 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:307:23 [INFO] [stderr] | [INFO] [stderr] 307 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:313:23 [INFO] [stderr] | [INFO] [stderr] 313 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:343:25 [INFO] [stderr] | [INFO] [stderr] 343 | ItemKind::Float(what as f64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/processor.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | let _ = cockpit.add_panel(panel); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / match cloned { [INFO] [stderr] 215 | | Observation::ObservedOneValue { ref mut value, .. } => match scaling { [INFO] [stderr] 216 | | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] 217 | | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] 218 | | }, [INFO] [stderr] 219 | | _ => (), [INFO] [stderr] 220 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 214 | if let Observation::ObservedOneValue { ref mut value, .. } = cloned { match scaling { [INFO] [stderr] 215 | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] 216 | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] 217 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:216:48 [INFO] [stderr] | [INFO] [stderr] 216 | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*value /= 1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:217:48 [INFO] [stderr] | [INFO] [stderr] 217 | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*value /= 1_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:299:60 [INFO] [stderr] | [INFO] [stderr] 299 | let nanos = (duration.as_secs() * 1_000_000_000) + (duration.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(duration.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:271:24 [INFO] [stderr] | [INFO] [stderr] 271 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:277:24 [INFO] [stderr] | [INFO] [stderr] 277 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:283:24 [INFO] [stderr] | [INFO] [stderr] 283 | ItemKind::UInt(what as u64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:301:23 [INFO] [stderr] | [INFO] [stderr] 301 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:307:23 [INFO] [stderr] | [INFO] [stderr] 307 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:313:23 [INFO] [stderr] | [INFO] [stderr] 313 | ItemKind::Int(what as i64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/snapshot.rs:343:25 [INFO] [stderr] | [INFO] [stderr] 343 | ItemKind::Float(what as f64) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(what)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / match cloned { [INFO] [stderr] 215 | | Observation::ObservedOneValue { ref mut value, .. } => match scaling { [INFO] [stderr] 216 | | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] 217 | | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] 218 | | }, [INFO] [stderr] 219 | | _ => (), [INFO] [stderr] 220 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 214 | if let Observation::ObservedOneValue { ref mut value, .. } = cloned { match scaling { [INFO] [stderr] 215 | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] 216 | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] 217 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:216:48 [INFO] [stderr] | [INFO] [stderr] 216 | ValueScaling::NanosToMillis => *value = *value / 1_000_000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*value /= 1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib.rs:217:48 [INFO] [stderr] | [INFO] [stderr] 217 | ValueScaling::NanosToMicros => *value = *value / 1_000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*value /= 1_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:299:60 [INFO] [stderr] | [INFO] [stderr] 299 | let nanos = (duration.as_secs() * 1_000_000_000) + (duration.subsec_nanos() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(duration.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: Could not compile `metrix`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `metrix`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "af047700e17cd274ee65178ec3d29803e594d58da552843cd2655a32616d528c"` [INFO] running `"docker" "rm" "-f" "af047700e17cd274ee65178ec3d29803e594d58da552843cd2655a32616d528c"` [INFO] [stdout] af047700e17cd274ee65178ec3d29803e594d58da552843cd2655a32616d528c