[INFO] updating cached repository WaDelma/haskall [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/WaDelma/haskall [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/WaDelma/haskall" "work/ex/clippy-test-run/sources/stable/gh/WaDelma/haskall"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/WaDelma/haskall'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/WaDelma/haskall" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WaDelma/haskall"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WaDelma/haskall'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 94e346ceaef3ae14084b44c485f9b6fee284f308 [INFO] sha for GitHub repo WaDelma/haskall: 94e346ceaef3ae14084b44c485f9b6fee284f308 [INFO] validating manifest of WaDelma/haskall 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 WaDelma/haskall 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 WaDelma/haskall [INFO] finished frobbing WaDelma/haskall [INFO] frobbed toml for WaDelma/haskall written to work/ex/clippy-test-run/sources/stable/gh/WaDelma/haskall/Cargo.toml [INFO] started frobbing WaDelma/haskall [INFO] finished frobbing WaDelma/haskall [INFO] frobbed toml for WaDelma/haskall written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WaDelma/haskall/Cargo.toml [INFO] crate WaDelma/haskall has a lockfile. skipping [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 WaDelma/haskall against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/WaDelma/haskall:/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 -Dclippy::into_iter_on_array" "-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] 07a5b8d51603518ba181eada79ecccfcb1358114a49c0641829f6382d9e6dc3f [INFO] running `"docker" "start" "-a" "07a5b8d51603518ba181eada79ecccfcb1358114a49c0641829f6382d9e6dc3f"` [INFO] [stderr] Checking haskall v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:177:24 [INFO] [stderr] | [INFO] [stderr] 177 | fn apply(&self, s: &Subst) -> Self; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:189:18 [INFO] [stderr] | [INFO] [stderr] 189 | .unwrap_or(Var(v.clone())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Var(v.clone()))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:230:26 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn compose_subst(s1: &Subst, s2: &Subst) -> Subst { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:230:38 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn compose_subst(s1: &Subst, s2: &Subst) -> Subst { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn merge_subst(s1: &Subst, s2: &Subst) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:237:36 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn merge_subst(s1: &Subst, s2: &Subst) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:385:29 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn supers(&self, i: &Ident) -> Vec { [INFO] [stderr] | ^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:389:28 [INFO] [stderr] | [INFO] [stderr] 389 | pub fn insts(&self, i: &Ident) -> Vec { [INFO] [stderr] | ^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:396:43 [INFO] [stderr] | [INFO] [stderr] 396 | classes: Box::new(move |i| if i == &ident { [INFO] [stderr] | ^^^^^------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `ident` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/main.rs:463:9 [INFO] [stderr] | [INFO] [stderr] 463 | / if (env.classes)(&pred.ident).is_none() { [INFO] [stderr] 464 | | return None; [INFO] [stderr] 465 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `(env.classes)(&pred.ident)?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/main.rs:648:10 [INFO] [stderr] | [INFO] [stderr] 648 | .ok_or(format!("Unbound identifier {}", ident)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Unbound identifier {}", ident))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:177:24 [INFO] [stderr] | [INFO] [stderr] 177 | fn apply(&self, s: &Subst) -> Self; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:189:18 [INFO] [stderr] | [INFO] [stderr] 189 | .unwrap_or(Var(v.clone())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Var(v.clone()))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:230:26 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn compose_subst(s1: &Subst, s2: &Subst) -> Subst { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:230:38 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn compose_subst(s1: &Subst, s2: &Subst) -> Subst { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:237:24 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn merge_subst(s1: &Subst, s2: &Subst) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:237:36 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn merge_subst(s1: &Subst, s2: &Subst) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:385:29 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn supers(&self, i: &Ident) -> Vec { [INFO] [stderr] | ^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:389:28 [INFO] [stderr] | [INFO] [stderr] 389 | pub fn insts(&self, i: &Ident) -> Vec { [INFO] [stderr] | ^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:396:43 [INFO] [stderr] | [INFO] [stderr] 396 | classes: Box::new(move |i| if i == &ident { [INFO] [stderr] | ^^^^^------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `ident` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/main.rs:463:9 [INFO] [stderr] | [INFO] [stderr] 463 | / if (env.classes)(&pred.ident).is_none() { [INFO] [stderr] 464 | | return None; [INFO] [stderr] 465 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `(env.classes)(&pred.ident)?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/main.rs:648:10 [INFO] [stderr] | [INFO] [stderr] 648 | .ok_or(format!("Unbound identifier {}", ident)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Unbound identifier {}", ident))` [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] Finished dev [unoptimized + debuginfo] target(s) in 1.28s [INFO] running `"docker" "inspect" "07a5b8d51603518ba181eada79ecccfcb1358114a49c0641829f6382d9e6dc3f"` [INFO] running `"docker" "rm" "-f" "07a5b8d51603518ba181eada79ecccfcb1358114a49c0641829f6382d9e6dc3f"` [INFO] [stdout] 07a5b8d51603518ba181eada79ecccfcb1358114a49c0641829f6382d9e6dc3f