[INFO] cloning repository https://github.com/fre-hu/mdarray [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fre-hu/mdarray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffre-hu%2Fmdarray", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffre-hu%2Fmdarray'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2616925c868abbd767527fc7e3c7f84696b45440 [INFO] linting fre-hu/mdarray against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffre-hu%2Fmdarray" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fre-hu/mdarray [INFO] finished tweaking git repo https://github.com/fre-hu/mdarray [INFO] tweaked toml for git repo https://github.com/fre-hu/mdarray written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fre-hu/mdarray on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fre-hu/mdarray already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_test v1.0.177 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 542fbcc10ccd7f6dbabc22b153c71f4e7be0d482793c6b93829194ccd0a88d67 [INFO] running `Command { std: "docker" "start" "-a" "542fbcc10ccd7f6dbabc22b153c71f4e7be0d482793c6b93829194ccd0a88d67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "542fbcc10ccd7f6dbabc22b153c71f4e7be0d482793c6b93829194ccd0a88d67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "542fbcc10ccd7f6dbabc22b153c71f4e7be0d482793c6b93829194ccd0a88d67", kill_on_drop: false }` [INFO] [stdout] 542fbcc10ccd7f6dbabc22b153c71f4e7be0d482793c6b93829194ccd0a88d67 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 96aae14f7f0fa0fa8cfa148b5617ca3d278416f3cc1aaad2f4b92087474776fc [INFO] running `Command { std: "docker" "start" "-a" "96aae14f7f0fa0fa8cfa148b5617ca3d278416f3cc1aaad2f4b92087474776fc", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking mdarray v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking serde_test v1.0.177 [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:221:61 [INFO] [stdout] | [INFO] [stdout] 221 | assert_eq!(a.view(2, .., ..), a.axis_expr(0).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] = note: `#[warn(clippy::iter_skip_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:222:67 [INFO] [stdout] | [INFO] [stdout] 222 | assert_eq!(b.array(2, .., ..), b.axis_expr_mut(U0).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:224:62 [INFO] [stdout] | [INFO] [stdout] 224 | assert_eq!(b.view(.., 2, ..), b.axis_expr(U1).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:225:66 [INFO] [stdout] | [INFO] [stdout] 225 | assert_eq!(a.array(.., 2, ..), a.axis_expr_mut(1).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:227:61 [INFO] [stdout] | [INFO] [stdout] 227 | assert_eq!(a.view(.., .., 2), a.axis_expr(2).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:228:67 [INFO] [stdout] | [INFO] [stdout] 228 | assert_eq!(b.array(.., .., 2), b.axis_expr_mut(U2).into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:230:61 [INFO] [stdout] | [INFO] [stdout] 230 | assert_eq!(a.view(2, .., ..), a.outer_expr().into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> tests/test.rs:231:66 [INFO] [stdout] | [INFO] [stdout] 231 | assert_eq!(b.array(2, .., ..), b.outer_expr_mut().into_iter().skip(2).next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `nth` instead: `.nth(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/test.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | assert_eq!(a.contains(&1111), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 233 - assert_eq!(a.contains(&1111), true); [INFO] [stdout] 233 + assert!(a.contains(&1111)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/test.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | assert_eq!(a.view(1, 1.., 1..).contains(&9999), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 234 - assert_eq!(a.view(1, 1.., 1..).contains(&9999), false); [INFO] [stdout] 234 + assert!(!a.view(1, 1.., 1..).contains(&9999)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `mdarray::Array, mdarray::Const<2>)>` [INFO] [stdout] --> tests/test.rs:367:19 [INFO] [stdout] | [INFO] [stdout] 367 | assert_eq!(d, Array::from(array![[1, 2], [5, 6]])); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `Array::from()`: `array![[1, 2], [5, 6]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of right operand [INFO] [stdout] --> tests/test.rs:467:16 [INFO] [stdout] | [INFO] [stdout] 467 | assert_eq!((&a + &view![1, 2, 3]).eval()[..], [2, 4, 6, 5, 7, 9]); [INFO] [stdout] | ^^^^^^---------------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `view![1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> tests/test.rs:468:16 [INFO] [stdout] | [INFO] [stdout] 468 | assert_eq!((&view![1, 2, 3] + &a).eval()[..], [2, 4, 6, 5, 7, 9]); [INFO] [stdout] | ^---------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `view![1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/test.rs:673:5 [INFO] [stdout] | [INFO] [stdout] 673 | assert_eq!(d.is_contiguous(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 673 - assert_eq!(d.is_contiguous(), true); [INFO] [stdout] 673 + assert!(d.is_contiguous()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/test.rs:674:5 [INFO] [stdout] | [INFO] [stdout] 674 | assert_eq!(s.is_empty(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 674 - assert_eq!(s.is_empty(), false); [INFO] [stdout] 674 + assert!(!s.is_empty()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tests/test.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 746 - assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] 746 + assert!(!(a != a || *a != a || *a != *a)); [INFO] [stdout] | [INFO] [stdout] 746 - assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] 746 + assert!(a == a && *a == a && *a == *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> tests/test.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 746 - assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] 746 + assert!(!(a != a || *a != a) && *a == *a); [INFO] [stdout] | [INFO] [stdout] 746 - assert!(a == a && *a == a && a == *a && *a == *a); [INFO] [stdout] 746 + assert!(a == a && *a == a && *a == *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> tests/test.rs:713:5 [INFO] [stdout] | [INFO] [stdout] 713 | a = a - expr::fill(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `a -= expr::fill(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> tests/test.rs:714:5 [INFO] [stdout] | [INFO] [stdout] 714 | a = a - &b; [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `a -= &b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> tests/test.rs:715:5 [INFO] [stdout] | [INFO] [stdout] 715 | a = a - b.expr(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `a -= b.expr()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/test.rs:540:16 [INFO] [stdout] | [INFO] [stdout] 540 | let dims = vec![80usize]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[80usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.51s [INFO] running `Command { std: "docker" "inspect" "96aae14f7f0fa0fa8cfa148b5617ca3d278416f3cc1aaad2f4b92087474776fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96aae14f7f0fa0fa8cfa148b5617ca3d278416f3cc1aaad2f4b92087474776fc", kill_on_drop: false }` [INFO] [stdout] 96aae14f7f0fa0fa8cfa148b5617ca3d278416f3cc1aaad2f4b92087474776fc