[INFO] crate rusty-asm 0.2.1 is already in cache [INFO] extracting crate rusty-asm 0.2.1 into work/ex/clippy-test-run/sources/stable/reg/rusty-asm/0.2.1 [INFO] extracting crate rusty-asm 0.2.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rusty-asm/0.2.1 [INFO] validating manifest of rusty-asm-0.2.1 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 rusty-asm-0.2.1 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 rusty-asm-0.2.1 [INFO] finished frobbing rusty-asm-0.2.1 [INFO] frobbed toml for rusty-asm-0.2.1 written to work/ex/clippy-test-run/sources/stable/reg/rusty-asm/0.2.1/Cargo.toml [INFO] started frobbing rusty-asm-0.2.1 [INFO] finished frobbing rusty-asm-0.2.1 [INFO] frobbed toml for rusty-asm-0.2.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rusty-asm/0.2.1/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 rusty-asm-0.2.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rusty-asm/0.2.1:/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] 08089647410a8e4ef79ac2a5663c72a20deee0ff6463b3a396baa90e07109ef7 [INFO] running `"docker" "start" "-a" "08089647410a8e4ef79ac2a5663c72a20deee0ff6463b3a396baa90e07109ef7"` [INFO] [stderr] warning: library `rusty-asm` should only specify `proc-macro = true` instead of setting `crate-type` [INFO] [stderr] Checking syn v0.15.26 [INFO] [stderr] Checking runtime-macros v0.3.0 [INFO] [stderr] Checking rusty-asm v0.2.1 (/opt/crater/workdir) [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/parse.rs:671:9 [INFO] [stderr] | [INFO] [stderr] 671 | lit [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/parse.rs:670:19 [INFO] [stderr] | [INFO] [stderr] 670 | let lit = LitStr::new(self.constraint_as_str(), self.llvm_constraint.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/parse.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | BridgeVarDecl(BridgeVarDecl), [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] 77 | BridgeVarDecl(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/parse.rs:161:62 [INFO] [stderr] | [INFO] [stderr] 161 | let tt = input.step(|cursor| cursor.token_tree().ok_or(cursor.error("unexpected end of input")))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| cursor.error("unexpected end of input"))` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parse.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | / let mut_keyword; [INFO] [stderr] 207 | | if input.peek(Token![mut]) { [INFO] [stderr] 208 | | mut_keyword = input.parse::().ok(); [INFO] [stderr] 209 | | } else { [INFO] [stderr] 210 | | mut_keyword = None; [INFO] [stderr] 211 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let mut_keyword = if input.peek(Token![mut]) { input.parse::().ok() } else { None };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [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/parse.rs:564:32 [INFO] [stderr] | [INFO] [stderr] 564 | fn find_var_by_ident(vars: &Vec, ident_string: &String) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[BridgeVar]` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/parse.rs:564:63 [INFO] [stderr] | [INFO] [stderr] 564 | fn find_var_by_ident(vars: &Vec, ident_string: &String) -> Option { [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/parse.rs:671:9 [INFO] [stderr] | [INFO] [stderr] 671 | lit [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/parse.rs:670:19 [INFO] [stderr] | [INFO] [stderr] 670 | let lit = LitStr::new(self.constraint_as_str(), self.llvm_constraint.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/parse.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | BridgeVarDecl(BridgeVarDecl), [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] 77 | BridgeVarDecl(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/parse.rs:161:62 [INFO] [stderr] | [INFO] [stderr] 161 | let tt = input.step(|cursor| cursor.token_tree().ok_or(cursor.error("unexpected end of input")))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| cursor.error("unexpected end of input"))` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parse.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | / let mut_keyword; [INFO] [stderr] 207 | | if input.peek(Token![mut]) { [INFO] [stderr] 208 | | mut_keyword = input.parse::().ok(); [INFO] [stderr] 209 | | } else { [INFO] [stderr] 210 | | mut_keyword = None; [INFO] [stderr] 211 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let mut_keyword = if input.peek(Token![mut]) { input.parse::().ok() } else { None };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [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/parse.rs:564:32 [INFO] [stderr] | [INFO] [stderr] 564 | fn find_var_by_ident(vars: &Vec, ident_string: &String) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[BridgeVar]` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/parse.rs:564:63 [INFO] [stderr] | [INFO] [stderr] 564 | fn find_var_by_ident(vars: &Vec, ident_string: &String) -> Option { [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] Finished dev [unoptimized + debuginfo] target(s) in 13.46s [INFO] running `"docker" "inspect" "08089647410a8e4ef79ac2a5663c72a20deee0ff6463b3a396baa90e07109ef7"` [INFO] running `"docker" "rm" "-f" "08089647410a8e4ef79ac2a5663c72a20deee0ff6463b3a396baa90e07109ef7"` [INFO] [stdout] 08089647410a8e4ef79ac2a5663c72a20deee0ff6463b3a396baa90e07109ef7