[INFO] crate xiod 0.6.0 is already in cache [INFO] extracting crate xiod 0.6.0 into work/ex/clippy-test-run/sources/stable/reg/xiod/0.6.0 [INFO] extracting crate xiod 0.6.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xiod/0.6.0 [INFO] validating manifest of xiod-0.6.0 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 xiod-0.6.0 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 xiod-0.6.0 [INFO] finished frobbing xiod-0.6.0 [INFO] frobbed toml for xiod-0.6.0 written to work/ex/clippy-test-run/sources/stable/reg/xiod/0.6.0/Cargo.toml [INFO] started frobbing xiod-0.6.0 [INFO] finished frobbing xiod-0.6.0 [INFO] frobbed toml for xiod-0.6.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xiod/0.6.0/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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded os_pipe v0.8.1 [INFO] [stderr] Downloaded trust-dns-resolver v0.10.3 [INFO] [stderr] Downloaded trust-dns-proto v0.6.3 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting xiod-0.6.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/xiod/0.6.0:/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] 763cf155b11b3425ca64d390b503f2da91e0b707397e20cd03923f76422448ba [INFO] running `"docker" "start" "-a" "763cf155b11b3425ca64d390b503f2da91e0b707397e20cd03923f76422448ba"` [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Checking arc-swap v0.3.7 [INFO] [stderr] Compiling nix v0.13.0 [INFO] [stderr] Checking bidir-map v1.0.0 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling v_escape v0.3.2 [INFO] [stderr] Compiling v_htmlescape v0.3.2 [INFO] [stderr] Compiling actix-web v0.7.18 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking rand_os v0.1.1 [INFO] [stderr] Checking socket2 v0.3.8 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Checking nix v0.12.0 [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Checking crossbeam-channel v0.3.7 [INFO] [stderr] Checking unicode-normalization v0.1.8 [INFO] [stderr] Checking libudev-sys v0.1.4 [INFO] [stderr] Checking signal-hook v0.1.7 [INFO] [stderr] Checking resolv-conf v0.6.2 [INFO] [stderr] Compiling nom v4.1.1 [INFO] [stderr] Checking flate2 v1.0.6 [INFO] [stderr] Checking rand_pcg v0.1.1 [INFO] [stderr] Checking libudev v0.2.0 [INFO] [stderr] Checking udev v0.2.0 [INFO] [stderr] Compiling actix_derive v0.3.2 [INFO] [stderr] Compiling structopt-derive v0.2.14 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking env_logger v0.6.0 [INFO] [stderr] Compiling v_escape_derive v0.2.1 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking serialport v3.2.0 [INFO] [stderr] Checking ommui_broadcast v0.2.3 [INFO] [stderr] Checking structopt v0.2.14 [INFO] [stderr] Checking os_pipe v0.8.1 [INFO] [stderr] Checking brotli2 v0.3.2 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking crossbeam v0.6.0 [INFO] [stderr] Checking tokio-reactor v0.1.8 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Checking tokio-threadpool v0.1.11 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio-signal v0.2.7 [INFO] [stderr] Checking tokio-fs v0.1.5 [INFO] [stderr] Checking serde_json v1.0.37 [INFO] [stderr] Checking uuid v0.7.2 [INFO] [stderr] Checking xio_base_datatypes v0.4.3 [INFO] [stderr] Checking ommui_string_patterns v0.1.2 [INFO] [stderr] Checking csv v1.0.5 [INFO] [stderr] Checking tokio v0.1.15 [INFO] [stderr] Checking xio_jobset v0.7.0 [INFO] [stderr] Checking xio_common v0.8.5 [INFO] [stderr] Checking ommui_file_loading v0.3.3 [INFO] [stderr] Checking xio_instructionset v0.1.12 [INFO] [stderr] Checking xio_hwdb v0.3.0 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking xio_webapi v0.12.0 [INFO] [stderr] Checking xio_jobset_compilation v0.4.1 [INFO] [stderr] Checking trust-dns-proto v0.6.3 [INFO] [stderr] Checking trust-dns-proto v0.5.0 [INFO] [stderr] Checking serde_urlencoded v0.5.4 [INFO] [stderr] Checking cookie v0.11.0 [INFO] [stderr] Checking trust-dns-resolver v0.10.3 [INFO] [stderr] Checking actix v0.7.9 [INFO] [stderr] Checking actix-net v0.2.6 [INFO] [stderr] Checking xiod v0.6.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:147:44 [INFO] [stderr] | [INFO] [stderr] 147 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:156:44 [INFO] [stderr] | [INFO] [stderr] 156 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:170:44 [INFO] [stderr] | [INFO] [stderr] 170 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:177:44 [INFO] [stderr] | [INFO] [stderr] 177 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:190:44 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:210:44 [INFO] [stderr] | [INFO] [stderr] 210 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:230:44 [INFO] [stderr] | [INFO] [stderr] 230 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:240:44 [INFO] [stderr] | [INFO] [stderr] 240 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:247:44 [INFO] [stderr] | [INFO] [stderr] 247 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:265:44 [INFO] [stderr] | [INFO] [stderr] 265 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:287:44 [INFO] [stderr] | [INFO] [stderr] 287 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:306:44 [INFO] [stderr] | [INFO] [stderr] 306 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:147:44 [INFO] [stderr] | [INFO] [stderr] 147 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:156:44 [INFO] [stderr] | [INFO] [stderr] 156 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:170:44 [INFO] [stderr] | [INFO] [stderr] 170 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:177:44 [INFO] [stderr] | [INFO] [stderr] 177 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:190:44 [INFO] [stderr] | [INFO] [stderr] 190 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:210:44 [INFO] [stderr] | [INFO] [stderr] 210 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:230:44 [INFO] [stderr] | [INFO] [stderr] 230 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:240:44 [INFO] [stderr] | [INFO] [stderr] 240 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:247:44 [INFO] [stderr] | [INFO] [stderr] 247 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:265:44 [INFO] [stderr] | [INFO] [stderr] 265 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:287:44 [INFO] [stderr] | [INFO] [stderr] 287 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_pass_by_value` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/main.rs:306:44 [INFO] [stderr] | [INFO] [stderr] 306 | #[cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_pass_by_value` [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/controller.rs:262:20 [INFO] [stderr] | [INFO] [stderr] 262 | if !events_sender [INFO] [stderr] | ____________________^ [INFO] [stderr] 263 | | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] 264 | | .is_ok() [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 262 | if events_sender [INFO] [stderr] 263 | .send(ControllerEvent::Notification(item.notification)).is_err() [INFO] [stderr] | [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/controller.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | / match notification_receiver.recv() { [INFO] [stderr] 261 | | Ok(item) => { [INFO] [stderr] 262 | | if !events_sender [INFO] [stderr] 263 | | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] ... | [INFO] [stderr] 269 | | Err(_) => {} [INFO] [stderr] 270 | | } [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] 260 | if let Ok(item) = notification_receiver.recv() { [INFO] [stderr] 261 | if !events_sender [INFO] [stderr] 262 | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] 263 | .is_ok() [INFO] [stderr] 264 | { [INFO] [stderr] 265 | return; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | controller.status.frame_format_version.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `controller.status.frame_format_version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | controller.status.commandset_version.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `controller.status.commandset_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/controller.rs:456:21 [INFO] [stderr] | [INFO] [stderr] 456 | (elapsed.subsec_nanos() / 1000 / 1000) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(elapsed.subsec_nanos() / 1000 / 1000)` [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: Calling `subsec_micros()` is more concise than this calculation [INFO] [stderr] --> src/controller.rs:456:22 [INFO] [stderr] | [INFO] [stderr] 456 | (elapsed.subsec_nanos() / 1000 / 1000) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `elapsed.subsec_micros()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/controller.rs:721:54 [INFO] [stderr] | [INFO] [stderr] 721 | requests: LinkedList::from_iter(requests.into_iter().cloned()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/controller.rs:851:34 [INFO] [stderr] | [INFO] [stderr] 851 | .filter_map(|(k, v)| match v { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 852 | | &webapi::ModuleState::Ready { assigned_to_jobset } [INFO] [stderr] 853 | | if assigned_to_jobset => [INFO] [stderr] 854 | | { [INFO] [stderr] ... | [INFO] [stderr] 863 | | _ => None, [INFO] [stderr] 864 | | }).collect::>(); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 851 | .filter_map(|(k, v)| match *v { [INFO] [stderr] 852 | webapi::ModuleState::Ready { assigned_to_jobset } [INFO] [stderr] 853 | if assigned_to_jobset => [INFO] [stderr] 854 | { [INFO] [stderr] 855 | Some(k.to_string()) [INFO] [stderr] 856 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:1395:28 [INFO] [stderr] | [INFO] [stderr] 1395 | let uuid = xio.uuid.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `xio.uuid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/controller.rs:1544:25 [INFO] [stderr] | [INFO] [stderr] 1544 | let value = value.into(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/controller.rs:1776:32 [INFO] [stderr] | [INFO] [stderr] 1776 | return Err(e.into()); [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/manager.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | UpdateDevice(webapi::ControllerStatus), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 229 | UpdateDevice(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/manager.rs:368:14 [INFO] [stderr] | [INFO] [stderr] 368 | devices: &Weak>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/manager.rs:493:14 [INFO] [stderr] | [INFO] [stderr] 493 | devices: &Weak>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:359:6 [INFO] [stderr] | [INFO] [stderr] 359 | ) -> Result<( [INFO] [stderr] | ______^ [INFO] [stderr] 360 | | Arc>, [INFO] [stderr] 361 | | Arc>, [INFO] [stderr] 362 | | Arc>, [INFO] [stderr] 363 | | )> { [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/controller.rs:262:20 [INFO] [stderr] | [INFO] [stderr] 262 | if !events_sender [INFO] [stderr] | ____________________^ [INFO] [stderr] 263 | | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] 264 | | .is_ok() [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 262 | if events_sender [INFO] [stderr] 263 | .send(ControllerEvent::Notification(item.notification)).is_err() [INFO] [stderr] | [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/controller.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | / match notification_receiver.recv() { [INFO] [stderr] 261 | | Ok(item) => { [INFO] [stderr] 262 | | if !events_sender [INFO] [stderr] 263 | | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] ... | [INFO] [stderr] 269 | | Err(_) => {} [INFO] [stderr] 270 | | } [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] 260 | if let Ok(item) = notification_receiver.recv() { [INFO] [stderr] 261 | if !events_sender [INFO] [stderr] 262 | .send(ControllerEvent::Notification(item.notification)) [INFO] [stderr] 263 | .is_ok() [INFO] [stderr] 264 | { [INFO] [stderr] 265 | return; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | controller.status.frame_format_version.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `controller.status.frame_format_version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | controller.status.commandset_version.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `controller.status.commandset_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/controller.rs:456:21 [INFO] [stderr] | [INFO] [stderr] 456 | (elapsed.subsec_nanos() / 1000 / 1000) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(elapsed.subsec_nanos() / 1000 / 1000)` [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: Calling `subsec_micros()` is more concise than this calculation [INFO] [stderr] --> src/controller.rs:456:22 [INFO] [stderr] | [INFO] [stderr] 456 | (elapsed.subsec_nanos() / 1000 / 1000) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `elapsed.subsec_micros()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/controller.rs:721:54 [INFO] [stderr] | [INFO] [stderr] 721 | requests: LinkedList::from_iter(requests.into_iter().cloned()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/controller.rs:851:34 [INFO] [stderr] | [INFO] [stderr] 851 | .filter_map(|(k, v)| match v { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 852 | | &webapi::ModuleState::Ready { assigned_to_jobset } [INFO] [stderr] 853 | | if assigned_to_jobset => [INFO] [stderr] 854 | | { [INFO] [stderr] ... | [INFO] [stderr] 863 | | _ => None, [INFO] [stderr] 864 | | }).collect::>(); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 851 | .filter_map(|(k, v)| match *v { [INFO] [stderr] 852 | webapi::ModuleState::Ready { assigned_to_jobset } [INFO] [stderr] 853 | if assigned_to_jobset => [INFO] [stderr] 854 | { [INFO] [stderr] 855 | Some(k.to_string()) [INFO] [stderr] 856 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/controller.rs:1395:28 [INFO] [stderr] | [INFO] [stderr] 1395 | let uuid = xio.uuid.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `xio.uuid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/controller.rs:1544:25 [INFO] [stderr] | [INFO] [stderr] 1544 | let value = value.into(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/controller.rs:1776:32 [INFO] [stderr] | [INFO] [stderr] 1776 | return Err(e.into()); [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/manager.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | UpdateDevice(webapi::ControllerStatus), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 229 | UpdateDevice(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/manager.rs:368:14 [INFO] [stderr] | [INFO] [stderr] 368 | devices: &Weak>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/manager.rs:493:14 [INFO] [stderr] | [INFO] [stderr] 493 | devices: &Weak>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:359:6 [INFO] [stderr] | [INFO] [stderr] 359 | ) -> Result<( [INFO] [stderr] | ______^ [INFO] [stderr] 360 | | Arc>, [INFO] [stderr] 361 | | Arc>, [INFO] [stderr] 362 | | Arc>, [INFO] [stderr] 363 | | )> { [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 50s [INFO] running `"docker" "inspect" "763cf155b11b3425ca64d390b503f2da91e0b707397e20cd03923f76422448ba"` [INFO] running `"docker" "rm" "-f" "763cf155b11b3425ca64d390b503f2da91e0b707397e20cd03923f76422448ba"` [INFO] [stdout] 763cf155b11b3425ca64d390b503f2da91e0b707397e20cd03923f76422448ba