[INFO] updating cached repository bouncenow/rvlox [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bouncenow/rvlox [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bouncenow/rvlox" "work/ex/clippy-test-run/sources/stable/gh/bouncenow/rvlox"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/bouncenow/rvlox'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bouncenow/rvlox" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bouncenow/rvlox"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bouncenow/rvlox'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e175045c4de1c925b11abcacbe299e74d27b88a1 [INFO] sha for GitHub repo bouncenow/rvlox: e175045c4de1c925b11abcacbe299e74d27b88a1 [INFO] validating manifest of bouncenow/rvlox 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 bouncenow/rvlox 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 bouncenow/rvlox [INFO] finished frobbing bouncenow/rvlox [INFO] frobbed toml for bouncenow/rvlox written to work/ex/clippy-test-run/sources/stable/gh/bouncenow/rvlox/Cargo.toml [INFO] started frobbing bouncenow/rvlox [INFO] finished frobbing bouncenow/rvlox [INFO] frobbed toml for bouncenow/rvlox written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bouncenow/rvlox/Cargo.toml [INFO] crate bouncenow/rvlox 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 bouncenow/rvlox against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/bouncenow/rvlox:/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] ebaa192f5274310cca6b9fa00e89be642ee8059c16946bb845424cb5352382fd [INFO] running `"docker" "start" "-a" "ebaa192f5274310cca6b9fa00e89be642ee8059c16946bb845424cb5352382fd"` [INFO] [stderr] Checking rvlox v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/scanner.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Token { t_type: TokenType::Error(msg), line: self.line } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Token { t_type: TokenType::Error(msg), line: self.line }` [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/scanner.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Token { t_type: TokenType::Error(msg), line: self.line } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Token { t_type: TokenType::Error(msg), line: self.line }` [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: field is never used: `location` [INFO] [stderr] --> src/compiler.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | location: ErrorLocation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `msg` [INFO] [stderr] --> src/compiler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | msg: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::Chunk` [INFO] [stderr] --> src/common.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Chunk { [INFO] [stderr] 24 | | Chunk { instructions: Vec::new(), constants: Vec::new() } [INFO] [stderr] 25 | | } [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] 17 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `vm::VM` [INFO] [stderr] --> src/vm.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> VM { [INFO] [stderr] 32 | | VM { ip: 0, stack: Vec::new() } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/scanner.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | / loop { [INFO] [stderr] 295 | | if let Some(c) = self.peek() { [INFO] [stderr] 296 | | match c { [INFO] [stderr] 297 | | ' ' | '\r' | '\t' => { [INFO] [stderr] ... | [INFO] [stderr] 313 | | } [INFO] [stderr] 314 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(c) = self.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | self.current.peek().map(|c| *c) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:348:20 [INFO] [stderr] | [INFO] [stderr] 348 | return self.current.peek().map(|c| *c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | self.current.peek().map(|c| *c) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [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/util.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn parse_args_for_running_mode(args: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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: field is never used: `location` [INFO] [stderr] --> src/compiler.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | location: ErrorLocation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `msg` [INFO] [stderr] --> src/compiler.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | msg: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `common::Chunk` [INFO] [stderr] --> src/common.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Chunk { [INFO] [stderr] 24 | | Chunk { instructions: Vec::new(), constants: Vec::new() } [INFO] [stderr] 25 | | } [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] 17 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `vm::VM` [INFO] [stderr] --> src/vm.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> VM { [INFO] [stderr] 32 | | VM { ip: 0, stack: Vec::new() } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/scanner.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | / loop { [INFO] [stderr] 295 | | if let Some(c) = self.peek() { [INFO] [stderr] 296 | | match c { [INFO] [stderr] 297 | | ' ' | '\r' | '\t' => { [INFO] [stderr] ... | [INFO] [stderr] 313 | | } [INFO] [stderr] 314 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(c) = self.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | self.current.peek().map(|c| *c) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:348:20 [INFO] [stderr] | [INFO] [stderr] 348 | return self.current.peek().map(|c| *c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/scanner.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | self.current.peek().map(|c| *c) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.current.peek().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [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/util.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn parse_args_for_running_mode(args: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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] Finished dev [unoptimized + debuginfo] target(s) in 2.50s [INFO] running `"docker" "inspect" "ebaa192f5274310cca6b9fa00e89be642ee8059c16946bb845424cb5352382fd"` [INFO] running `"docker" "rm" "-f" "ebaa192f5274310cca6b9fa00e89be642ee8059c16946bb845424cb5352382fd"` [INFO] [stdout] ebaa192f5274310cca6b9fa00e89be642ee8059c16946bb845424cb5352382fd