[INFO] updating cached repository rwblickhan/rdurian [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/rwblickhan/rdurian [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/rwblickhan/rdurian" "work/ex/clippy-test-run/sources/stable/gh/rwblickhan/rdurian"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/rwblickhan/rdurian'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/rwblickhan/rdurian" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rwblickhan/rdurian"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rwblickhan/rdurian'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ce0a6afbc61c08c110c224d444eeda316347f6d1 [INFO] sha for GitHub repo rwblickhan/rdurian: ce0a6afbc61c08c110c224d444eeda316347f6d1 [INFO] validating manifest of rwblickhan/rdurian 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 rwblickhan/rdurian 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 rwblickhan/rdurian [INFO] finished frobbing rwblickhan/rdurian [INFO] frobbed toml for rwblickhan/rdurian written to work/ex/clippy-test-run/sources/stable/gh/rwblickhan/rdurian/Cargo.toml [INFO] started frobbing rwblickhan/rdurian [INFO] finished frobbing rwblickhan/rdurian [INFO] frobbed toml for rwblickhan/rdurian written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rwblickhan/rdurian/Cargo.toml [INFO] crate rwblickhan/rdurian 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 rwblickhan/rdurian 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-6/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/rwblickhan/rdurian:/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] b1a328b8dfdec76cbbf39649f62211ae169adc67288e6445210e19b7d85244a3 [INFO] running `"docker" "start" "-a" "b1a328b8dfdec76cbbf39649f62211ae169adc67288e6445210e19b7d85244a3"` [INFO] [stderr] Checking atty v0.2.10 [INFO] [stderr] Checking subprocess v0.1.13 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking rdurian v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:846:24 [INFO] [stderr] | [INFO] [stderr] 846 | Stmt::If { token: _, cond, true_body, false_body } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `If { cond, true_body, false_body, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:874:24 [INFO] [stderr] | [INFO] [stderr] 874 | Stmt::If { token: _, cond, true_body, false_body } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `If { cond, true_body, false_body, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:890:32 [INFO] [stderr] | [INFO] [stderr] 890 | Stmt::If { token: _, cond, true_body, false_body } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `If { cond, true_body, false_body, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:951:27 [INFO] [stderr] | [INFO] [stderr] 951 | Stmt::While { token: _, cond, body } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `While { cond, body, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:993:25 [INFO] [stderr] | [INFO] [stderr] 993 | Stmt::Let { token: _, ident, expr } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Let { ident, expr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1055:27 [INFO] [stderr] | [INFO] [stderr] 1055 | Stmt::Print { token: _, expr } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Print { expr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1069:25 [INFO] [stderr] | [INFO] [stderr] 1069 | Stmt::Err { token: _, expr } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Err { expr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1083:26 [INFO] [stderr] | [INFO] [stderr] 1083 | Stmt::Scan { token: _, ident } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Scan { ident, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1097:28 [INFO] [stderr] | [INFO] [stderr] 1097 | Stmt::Return { token: _, expr } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Return { expr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1111:28 [INFO] [stderr] | [INFO] [stderr] 1111 | Stmt::FnDecl { token: _, ident, params, body } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `FnDecl { ident, params, body, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/parser.rs:1133:45 [INFO] [stderr] | [INFO] [stderr] 1133 | &Stmt::Return { token: _, ref expr } => { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Return { ref expr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/treewalk_interpreter.rs:761:32 [INFO] [stderr] | [INFO] [stderr] 761 | while let Some(exec) = iter.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for exec in iter { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1118:17 [INFO] [stderr] | [INFO] [stderr] 1118 | / match param_a { [INFO] [stderr] 1119 | | &Expr::Identifier { ref ident } => { [INFO] [stderr] 1120 | | assert_eq!(*ident, Token::Identifier { line: 0, literal: "a".to_string() }); [INFO] [stderr] 1121 | | let param_b = &**iter.next().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 1127 | | _ => panic!() [INFO] [stderr] 1128 | | }; [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] 1118 | match *param_a { [INFO] [stderr] 1119 | Expr::Identifier { ref ident } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1122:25 [INFO] [stderr] | [INFO] [stderr] 1122 | / match param_b { [INFO] [stderr] 1123 | | &Expr::Identifier { ref ident } => assert_eq!(*ident, Token::Identifier { line: 0, literal: "b".to_string() }), [INFO] [stderr] 1124 | | _ => panic!() [INFO] [stderr] 1125 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [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] 1122 | match *param_b { [INFO] [stderr] 1123 | Expr::Identifier { ref ident } => assert_eq!(*ident, Token::Identifier { line: 0, literal: "b".to_string() }), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1132:25 [INFO] [stderr] | [INFO] [stderr] 1132 | / match stmt { [INFO] [stderr] 1133 | | &Stmt::Return { token: _, ref expr } => { [INFO] [stderr] 1134 | | match **expr { [INFO] [stderr] 1135 | | Expr::Literal { ref value } => assert_eq!(*value, [INFO] [stderr] ... | [INFO] [stderr] 1140 | | _ => panic!() [INFO] [stderr] 1141 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [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] 1132 | match *stmt { [INFO] [stderr] 1133 | Stmt::Return { token: _, ref expr } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1156:17 [INFO] [stderr] | [INFO] [stderr] 1156 | / match stmt { [INFO] [stderr] 1157 | | &Stmt::Next(_) => return, [INFO] [stderr] 1158 | | _ => panic!() [INFO] [stderr] 1159 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1156 | match *stmt { [INFO] [stderr] 1157 | Stmt::Next(_) => return, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1172:17 [INFO] [stderr] | [INFO] [stderr] 1172 | / match next_stmt { [INFO] [stderr] 1173 | | &Stmt::Next(_) => { [INFO] [stderr] 1174 | | let break_stmt = &**iter.next().unwrap(); [INFO] [stderr] 1175 | | match break_stmt { [INFO] [stderr] ... | [INFO] [stderr] 1180 | | _ => panic!() [INFO] [stderr] 1181 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1172 | match *next_stmt { [INFO] [stderr] 1173 | Stmt::Next(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1175:25 [INFO] [stderr] | [INFO] [stderr] 1175 | / match break_stmt { [INFO] [stderr] 1176 | | &Stmt::Break(_) => return, [INFO] [stderr] 1177 | | _ => panic!() [INFO] [stderr] 1178 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [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] 1175 | match *break_stmt { [INFO] [stderr] 1176 | Stmt::Break(_) => return, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1952:21 [INFO] [stderr] | [INFO] [stderr] 1952 | / match arg_a { [INFO] [stderr] 1953 | | &Expr::Identifier { ref ident } => { [INFO] [stderr] 1954 | | assert_eq!(*ident, Token::Identifier { line: 0, literal: "a".to_string() }); [INFO] [stderr] 1955 | | let arg_b = &**iter.next().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 1963 | | _ => panic!() [INFO] [stderr] 1964 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 1952 | match *arg_a { [INFO] [stderr] 1953 | Expr::Identifier { ref ident } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:1956:29 [INFO] [stderr] | [INFO] [stderr] 1956 | / match arg_b { [INFO] [stderr] 1957 | | &Expr::Identifier { ref ident } => { [INFO] [stderr] 1958 | | assert_eq!(*ident, Token::Identifier { line: 0, literal: "b".to_string() }); [INFO] [stderr] 1959 | | } [INFO] [stderr] 1960 | | _ => panic!() [INFO] [stderr] 1961 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [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] 1956 | match *arg_b { [INFO] [stderr] 1957 | Expr::Identifier { ref ident } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/treewalk_interpreter.rs:761:32 [INFO] [stderr] | [INFO] [stderr] 761 | while let Some(exec) = iter.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for exec in iter { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.74s [INFO] running `"docker" "inspect" "b1a328b8dfdec76cbbf39649f62211ae169adc67288e6445210e19b7d85244a3"` [INFO] running `"docker" "rm" "-f" "b1a328b8dfdec76cbbf39649f62211ae169adc67288e6445210e19b7d85244a3"` [INFO] [stdout] b1a328b8dfdec76cbbf39649f62211ae169adc67288e6445210e19b7d85244a3