[INFO] crate crossbeam-channel 0.3.3 is already in cache [INFO] extracting crate crossbeam-channel 0.3.3 into work/ex/clippy-test-run/sources/stable/reg/crossbeam-channel/0.3.3 [INFO] extracting crate crossbeam-channel 0.3.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crossbeam-channel/0.3.3 [INFO] validating manifest of crossbeam-channel-0.3.3 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 crossbeam-channel-0.3.3 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 crossbeam-channel-0.3.3 [INFO] finished frobbing crossbeam-channel-0.3.3 [INFO] frobbed toml for crossbeam-channel-0.3.3 written to work/ex/clippy-test-run/sources/stable/reg/crossbeam-channel/0.3.3/Cargo.toml [INFO] started frobbing crossbeam-channel-0.3.3 [INFO] finished frobbing crossbeam-channel-0.3.3 [INFO] frobbed toml for crossbeam-channel-0.3.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crossbeam-channel/0.3.3/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 crossbeam-channel-0.3.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/crossbeam-channel/0.3.3:/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] 699d456f1f3c0712bf97925ef64de695c6efca49cd2ab8eb39b9dd51adec5702 [INFO] running `"docker" "start" "-a" "699d456f1f3c0712bf97925ef64de695c6efca49cd2ab8eb39b9dd51adec5702"` [INFO] [stderr] Checking crossbeam v0.5.0 [INFO] [stderr] Checking crossbeam-channel v0.3.3 (/opt/crater/workdir) [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:357:21 [INFO] [stderr] | [INFO] [stderr] 357 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:365:28 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn is_disconnected(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:405:23 [INFO] [stderr] | [INFO] [stderr] 405 | pub fn is_timeout(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:413:28 [INFO] [stderr] | [INFO] [stderr] 413 | pub fn is_disconnected(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/select.rs:308:63 [INFO] [stderr] | [INFO] [stderr] 308 | deadline = deadline.map(|y| x.min(y)).or(Some(x)); [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `or_else(|| Some(x))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/select.rs:456:63 [INFO] [stderr] | [INFO] [stderr] 456 | deadline = deadline.map(|y| x.min(y)).or(Some(x)); [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `or_else(|| Some(x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `select::Select<'a>` [INFO] [stderr] --> src/select.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / pub fn new() -> Select<'a> { [INFO] [stderr] 565 | | Select { [INFO] [stderr] 566 | | handles: SmallVec::new(), [INFO] [stderr] 567 | | } [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 543 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils.rs:86:22 [INFO] [stderr] | [INFO] [stderr] 86 | let j = ((x as u64).wrapping_mul(n as u64) >> 32) as u32 as usize; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(x)` [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: long literal lacking separators [INFO] [stderr] --> tests/golang.rs:905:30 [INFO] [stderr] | [INFO] [stderr] 905 | const NITER: usize = 271828; [INFO] [stderr] | ^^^^^^ help: consider: `271_828` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> examples/stopwatch.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | dur.subsec_nanos() / 1_000_000 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `dur.subsec_millis()` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:357:21 [INFO] [stderr] | [INFO] [stderr] 357 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:365:28 [INFO] [stderr] | [INFO] [stderr] 365 | pub fn is_disconnected(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:405:23 [INFO] [stderr] | [INFO] [stderr] 405 | pub fn is_timeout(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/err.rs:413:28 [INFO] [stderr] | [INFO] [stderr] 413 | pub fn is_disconnected(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> tests/golang.rs:784:18 [INFO] [stderr] | [INFO] [stderr] 784 | for _ in 0..TRIALS + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=TRIALS` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> tests/golang.rs:827:17 [INFO] [stderr] | [INFO] [stderr] 827 | let r = cnt1 as f64 / TRIALS as f64; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(cnt1)` [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: the loop variable `i` is only used to index `l`. [INFO] [stderr] --> tests/golang.rs:871:26 [INFO] [stderr] | [INFO] [stderr] 871 | for i in 0..N { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 871 | for in l.iter_mut().take(N) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/select.rs:308:63 [INFO] [stderr] | [INFO] [stderr] 308 | deadline = deadline.map(|y| x.min(y)).or(Some(x)); [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `or_else(|| Some(x))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/select.rs:456:63 [INFO] [stderr] | [INFO] [stderr] 456 | deadline = deadline.map(|y| x.min(y)).or(Some(x)); [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `or_else(|| Some(x))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `select::Select<'a>` [INFO] [stderr] --> src/select.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / pub fn new() -> Select<'a> { [INFO] [stderr] 565 | | Select { [INFO] [stderr] 566 | | handles: SmallVec::new(), [INFO] [stderr] 567 | | } [INFO] [stderr] 568 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 543 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils.rs:86:22 [INFO] [stderr] | [INFO] [stderr] 86 | let j = ((x as u64).wrapping_mul(n as u64) >> 32) as u32 as usize; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(x)` [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:156:9 [INFO] [stderr] | [INFO] [stderr] 156 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:247:21 [INFO] [stderr] | [INFO] [stderr] 247 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:267:9 [INFO] [stderr] | [INFO] [stderr] 267 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:293:9 [INFO] [stderr] | [INFO] [stderr] 293 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:369:13 [INFO] [stderr] | [INFO] [stderr] 369 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select.rs:526:32 [INFO] [stderr] | [INFO] [stderr] 526 | i if i == oper1 => drop(oper.recv(&r1)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select.rs:526:37 [INFO] [stderr] | [INFO] [stderr] 526 | i if i == oper1 => drop(oper.recv(&r1)), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select.rs:527:32 [INFO] [stderr] | [INFO] [stderr] 527 | i if i == oper2 => drop(oper.recv(&r2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select.rs:527:37 [INFO] [stderr] | [INFO] [stderr] 527 | i if i == oper2 => drop(oper.recv(&r2)), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select.rs:549:36 [INFO] [stderr] | [INFO] [stderr] 549 | i if i == oper2 => drop(oper.recv(&r2)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::RecvError> [INFO] [stderr] --> tests/select.rs:549:41 [INFO] [stderr] | [INFO] [stderr] 549 | i if i == oper2 => drop(oper.recv(&r2)), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select.rs:569:28 [INFO] [stderr] | [INFO] [stderr] 569 | i if i == oper1 => drop(oper.recv(&r)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::RecvError> [INFO] [stderr] --> tests/select.rs:569:33 [INFO] [stderr] | [INFO] [stderr] 569 | i if i == oper1 => drop(oper.recv(&r)), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> tests/select.rs:807:23 [INFO] [stderr] | [INFO] [stderr] 807 | while !done { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::while_immutable_condition)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/select.rs:874:9 [INFO] [stderr] | [INFO] [stderr] 874 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `crossbeam-channel`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> tests/mpsc.rs:333:13 [INFO] [stderr] | [INFO] [stderr] 333 | / match rx.try_recv() { [INFO] [stderr] 334 | | Ok(..) => panic!(), [INFO] [stderr] 335 | | _ => {} [INFO] [stderr] 336 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(..) = rx.try_recv() { panic!() }` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> tests/mpsc.rs:1098:13 [INFO] [stderr] | [INFO] [stderr] 1098 | / match rx.try_recv() { [INFO] [stderr] 1099 | | Ok(..) => panic!(), [INFO] [stderr] 1100 | | _ => {} [INFO] [stderr] 1101 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(..) = rx.try_recv() { panic!() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> tests/mpsc.rs:1553:13 [INFO] [stderr] | [INFO] [stderr] 1553 | foo = rx1.recv() => { assert_eq!(foo.unwrap(), 1); }, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> tests/mpsc.rs:1559:13 [INFO] [stderr] | [INFO] [stderr] 1559 | bar = rx2.recv() => { assert_eq!(bar.unwrap(), 2) } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> tests/mpsc.rs:1563:13 [INFO] [stderr] | [INFO] [stderr] 1563 | foo = rx1.recv() => { assert!(foo.is_err()); }, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> tests/mpsc.rs:1568:13 [INFO] [stderr] | [INFO] [stderr] 1568 | bar = rx2.recv() => { assert!(bar.is_err()); } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> tests/mpsc.rs:1585:13 [INFO] [stderr] | [INFO] [stderr] 1585 | foo = rx5.recv() => { assert_eq!(foo.unwrap(), 4); } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> examples/fibonacci.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | y = tmp + y; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `y += tmp` [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: unneeded unit expression [INFO] [stderr] --> tests/select_macro.rs:943:20 [INFO] [stderr] | [INFO] [stderr] 943 | default => () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> tests/select_macro.rs:953:14 [INFO] [stderr] | [INFO] [stderr] 953 | recv((move || r)()) -> _ => {} [INFO] [stderr] | ^^^^^^^^^^^^^ help: Try doing something like: : `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> tests/select_macro.rs:954:14 [INFO] [stderr] | [INFO] [stderr] 954 | send((move || s)(), 0) -> _ => {} [INFO] [stderr] | ^^^^^^^^^^^^^ help: Try doing something like: : `s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/ready.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/ready.rs:332:18 [INFO] [stderr] | [INFO] [stderr] 332 | 0 => drop(r1.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/ready.rs:332:23 [INFO] [stderr] | [INFO] [stderr] 332 | 0 => drop(r1.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/ready.rs:333:18 [INFO] [stderr] | [INFO] [stderr] 333 | 1 => drop(r2.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/ready.rs:333:23 [INFO] [stderr] | [INFO] [stderr] 333 | 1 => drop(r2.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/ready.rs:354:22 [INFO] [stderr] | [INFO] [stderr] 354 | 1 => drop(r2.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::TryRecvError> [INFO] [stderr] --> tests/ready.rs:354:27 [INFO] [stderr] | [INFO] [stderr] 354 | 1 => drop(r2.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/ready.rs:373:14 [INFO] [stderr] | [INFO] [stderr] 373 | 0 => drop(r.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::TryRecvError> [INFO] [stderr] --> tests/ready.rs:373:19 [INFO] [stderr] | [INFO] [stderr] 373 | 0 => drop(r.try_recv()), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> tests/ready.rs:601:23 [INFO] [stderr] | [INFO] [stderr] 601 | while !done { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::while_immutable_condition)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> tests/ready.rs:653:9 [INFO] [stderr] | [INFO] [stderr] 653 | Err(_) => panic!(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `crossbeam-channel`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> tests/select_macro.rs:919:22 [INFO] [stderr] | [INFO] [stderr] 919 | recv(Some(r).unwrap_or(never())) -> _ => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(never)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1170:27 [INFO] [stderr] | [INFO] [stderr] 1170 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select_macro.rs:1170:58 [INFO] [stderr] | [INFO] [stderr] 1170 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1173:27 [INFO] [stderr] | [INFO] [stderr] 1173 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select_macro.rs:1173:58 [INFO] [stderr] | [INFO] [stderr] 1173 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1177:27 [INFO] [stderr] | [INFO] [stderr] 1177 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select_macro.rs:1177:58 [INFO] [stderr] | [INFO] [stderr] 1177 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1182:30 [INFO] [stderr] | [INFO] [stderr] 1182 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::SendError> [INFO] [stderr] --> tests/select_macro.rs:1182:65 [INFO] [stderr] | [INFO] [stderr] 1182 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1185:30 [INFO] [stderr] | [INFO] [stderr] 1185 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::SendError> [INFO] [stderr] --> tests/select_macro.rs:1185:65 [INFO] [stderr] | [INFO] [stderr] 1185 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1189:30 [INFO] [stderr] | [INFO] [stderr] 1189 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::SendError> [INFO] [stderr] --> tests/select_macro.rs:1189:65 [INFO] [stderr] | [INFO] [stderr] 1189 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1194:30 [INFO] [stderr] | [INFO] [stderr] 1194 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result<(), crossbeam_channel::SendError> [INFO] [stderr] --> tests/select_macro.rs:1194:65 [INFO] [stderr] | [INFO] [stderr] 1194 | send(s, 0) -> res => drop::>>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> tests/select_macro.rs:1195:27 [INFO] [stderr] | [INFO] [stderr] 1195 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type std::result::Result [INFO] [stderr] --> tests/select_macro.rs:1195:58 [INFO] [stderr] | [INFO] [stderr] 1195 | recv(r) -> res => drop::>(res), [INFO] [stderr] | ^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `crossbeam-channel`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "699d456f1f3c0712bf97925ef64de695c6efca49cd2ab8eb39b9dd51adec5702"` [INFO] running `"docker" "rm" "-f" "699d456f1f3c0712bf97925ef64de695c6efca49cd2ab8eb39b9dd51adec5702"` [INFO] [stdout] 699d456f1f3c0712bf97925ef64de695c6efca49cd2ab8eb39b9dd51adec5702