[INFO] updating cached repository strax/ttk91 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/strax/ttk91 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/strax/ttk91" "work/ex/clippy-test-run/sources/stable/gh/strax/ttk91"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/strax/ttk91'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/strax/ttk91" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/strax/ttk91"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/strax/ttk91'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e1360fd84c250d6b61aeae5a2f38c24b835ed993 [INFO] sha for GitHub repo strax/ttk91: e1360fd84c250d6b61aeae5a2f38c24b835ed993 [INFO] validating manifest of strax/ttk91 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 strax/ttk91 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 strax/ttk91 [INFO] finished frobbing strax/ttk91 [INFO] frobbed toml for strax/ttk91 written to work/ex/clippy-test-run/sources/stable/gh/strax/ttk91/Cargo.toml [INFO] started frobbing strax/ttk91 [INFO] finished frobbing strax/ttk91 [INFO] frobbed toml for strax/ttk91 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/strax/ttk91/Cargo.toml [INFO] crate strax/ttk91 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 strax/ttk91 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/strax/ttk91:/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] f3a287d5b4d4b59d89def0eef129aea3ac61ee546a8ae5c7d4e6e3663c5f4090 [INFO] running `"docker" "start" "-a" "f3a287d5b4d4b59d89def0eef129aea3ac61ee546a8ae5c7d4e6e3663c5f4090"` [INFO] [stderr] Compiling memchr v2.1.1 [INFO] [stderr] Checking term v0.5.1 [INFO] [stderr] Compiling quote v0.6.5 [INFO] [stderr] Compiling syn v0.14.7 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking csv v1.0.2 [INFO] [stderr] Checking prettytable-rs v0.8.0 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking ttk91 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `Cursor`, `SeekFrom` [INFO] [stderr] --> src/main.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::{Cursor, SeekFrom}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lines` [INFO] [stderr] --> src/b91/parser.rs:2:38 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, Read, BufRead, Lines}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | const TOKEN_HEADER: &'static str = "___b91___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | const TOKEN_CODE: &'static str = "___code___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | const TOKEN_DATA: &'static str = "___data___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:12:27 [INFO] [stderr] | [INFO] [stderr] 12 | const TOKEN_SYMBOLTABLE: &'static str = "___symboltable___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | const TOKEN_END: &'static str = "___end___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Cell`, `Row` [INFO] [stderr] --> src/vm/debugger.rs:3:19 [INFO] [stderr] | [INFO] [stderr] 3 | use prettytable::{Cell, Row, Table}; [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vm::register_file::RegisterFile` [INFO] [stderr] --> src/vm/debugger.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use vm::register_file::RegisterFile; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:52:29 [INFO] [stderr] | [INFO] [stderr] 52 | fn print_registers(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:72:32 [INFO] [stderr] | [INFO] [stderr] 72 | fn print_symbol_table(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:81:35 [INFO] [stderr] | [INFO] [stderr] 81 | fn print_instruction(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:87:24 [INFO] [stderr] | [INFO] [stderr] 87 | fn print_help(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | fn run(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/vm/io.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | / return match buf.parse() { [INFO] [stderr] 15 | | Err(_) => { [INFO] [stderr] 16 | | eprintln!("Error: input is not a number"); [INFO] [stderr] 17 | | return read_keyboard(); [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | Ok(n) => n, [INFO] [stderr] 20 | | }; [INFO] [stderr] | |____^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 14 | match buf.parse() { [INFO] [stderr] 15 | Err(_) => { [INFO] [stderr] 16 | eprintln!("Error: input is not a number"); [INFO] [stderr] 17 | return read_keyboard(); [INFO] [stderr] 18 | } [INFO] [stderr] 19 | Ok(n) => n, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mmu.rs:27:52 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn write(&mut self, addr: usize, value: u32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/vm/register_file.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | *(&mut self[dst]) = value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `self[dst]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deref_addrof)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | fn run(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:53:70 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn load_object_module(&mut self, object_module: &ObjectModule) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:72:26 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn tick(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:78:52 [INFO] [stderr] | [INFO] [stderr] 78 | fn execute(&mut self, instruction: &Instruction) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Cursor`, `SeekFrom` [INFO] [stderr] --> src/main.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::{Cursor, SeekFrom}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lines` [INFO] [stderr] --> src/b91/parser.rs:2:38 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, Read, BufRead, Lines}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | const TOKEN_HEADER: &'static str = "___b91___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | const TOKEN_CODE: &'static str = "___code___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | const TOKEN_DATA: &'static str = "___data___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:12:27 [INFO] [stderr] | [INFO] [stderr] 12 | const TOKEN_SYMBOLTABLE: &'static str = "___symboltable___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/b91/parser.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | const TOKEN_END: &'static str = "___end___"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Cell`, `Row` [INFO] [stderr] --> src/vm/debugger.rs:3:19 [INFO] [stderr] | [INFO] [stderr] 3 | use prettytable::{Cell, Row, Table}; [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vm::register_file::RegisterFile` [INFO] [stderr] --> src/vm/debugger.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use vm::register_file::RegisterFile; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:52:29 [INFO] [stderr] | [INFO] [stderr] 52 | fn print_registers(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:72:32 [INFO] [stderr] | [INFO] [stderr] 72 | fn print_symbol_table(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:81:35 [INFO] [stderr] | [INFO] [stderr] 81 | fn print_instruction(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:87:24 [INFO] [stderr] | [INFO] [stderr] 87 | fn print_help(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/debugger.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | fn run(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/vm/io.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | / return match buf.parse() { [INFO] [stderr] 15 | | Err(_) => { [INFO] [stderr] 16 | | eprintln!("Error: input is not a number"); [INFO] [stderr] 17 | | return read_keyboard(); [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | Ok(n) => n, [INFO] [stderr] 20 | | }; [INFO] [stderr] | |____^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 14 | match buf.parse() { [INFO] [stderr] 15 | Err(_) => { [INFO] [stderr] 16 | eprintln!("Error: input is not a number"); [INFO] [stderr] 17 | return read_keyboard(); [INFO] [stderr] 18 | } [INFO] [stderr] 19 | Ok(n) => n, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mmu.rs:27:52 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn write(&mut self, addr: usize, value: u32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/vm/register_file.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | *(&mut self[dst]) = value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `self[dst]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deref_addrof)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | fn run(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:53:70 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn load_object_module(&mut self, object_module: &ObjectModule) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:72:26 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn tick(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/vm/mod.rs:78:52 [INFO] [stderr] | [INFO] [stderr] 78 | fn execute(&mut self, instruction: &Instruction) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/b91/parser.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, Read, BufRead, Lines}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/mod.rs:144:11 [INFO] [stderr] | [INFO] [stderr] 144 | _ => panic!("Unknown supervisor call"), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `memory` [INFO] [stderr] --> src/main.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut memory = [0u32; 32768]; [INFO] [stderr] | ^^^^^^ help: consider using `_memory` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut memory = [0u32; 32768]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/b91/parser.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{Cursor, Read, BufRead, Lines}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/mod.rs:144:11 [INFO] [stderr] | [INFO] [stderr] 144 | _ => panic!("Unknown supervisor call"), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `memory` [INFO] [stderr] --> src/main.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut memory = [0u32; 32768]; [INFO] [stderr] | ^^^^^^ help: consider using `_memory` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let mut memory = [0u32; 32768]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/b91/parser.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | type Result = result::Result>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/b91/parser.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | / fn parse_tuple<'a>(s: &'a str) -> Option<(&'a str, &'a str)> { [INFO] [stderr] 16 | | match s.split(' ').collect::>()[..] { [INFO] [stderr] 17 | | [start, end] => Some((start, end)), [INFO] [stderr] 18 | | _ => None [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/b91/parser.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | .map(|s| s.parse().expect(&format!("Invalid instruction {}", s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Invalid instruction {}", s))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/b91/parser.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | .map(|s| s.parse().expect(&format!("Invalid data value {}, expected an unsigned integer instead", s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Invalid data value {}, expected an unsigned integer instead", s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/vm/mod.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | self.mmu.as_slice()[*start..(*end + 1)].copy_from_slice(instructions); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `*start..=*end` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/vm/mod.rs:66:25 [INFO] [stderr] | [INFO] [stderr] 66 | self.mmu.as_slice()[*start..(*end + 1)].copy_from_slice(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `*start..=*end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/mod.rs:78:38 [INFO] [stderr] | [INFO] [stderr] 78 | fn execute(&mut self, instruction: &Instruction) -> () { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/mod.rs:151:42 [INFO] [stderr] | [INFO] [stderr] 151 | fn fetch_value(&mut self, instruction: &Instruction) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/mod.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | let offset = instruction.addr as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(instruction.addr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Result` [INFO] [stderr] --> src/b91/parser.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | type Result = result::Result>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/b91/parser.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | / fn parse_tuple<'a>(s: &'a str) -> Option<(&'a str, &'a str)> { [INFO] [stderr] 16 | | match s.split(' ').collect::>()[..] { [INFO] [stderr] 17 | | [start, end] => Some((start, end)), [INFO] [stderr] 18 | | _ => None [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/b91/parser.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | .map(|s| s.parse().expect(&format!("Invalid instruction {}", s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Invalid instruction {}", s))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/b91/parser.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | .map(|s| s.parse().expect(&format!("Invalid data value {}, expected an unsigned integer instead", s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Invalid data value {}, expected an unsigned integer instead", s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/vm/mod.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | self.mmu.as_slice()[*start..(*end + 1)].copy_from_slice(instructions); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `*start..=*end` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/vm/mod.rs:66:25 [INFO] [stderr] | [INFO] [stderr] 66 | self.mmu.as_slice()[*start..(*end + 1)].copy_from_slice(data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `*start..=*end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/mod.rs:78:38 [INFO] [stderr] | [INFO] [stderr] 78 | fn execute(&mut self, instruction: &Instruction) -> () { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/vm/mod.rs:151:42 [INFO] [stderr] | [INFO] [stderr] 151 | fn fetch_value(&mut self, instruction: &Instruction) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `Instruction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/vm/mod.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | let offset = instruction.addr as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(instruction.addr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.42s [INFO] running `"docker" "inspect" "f3a287d5b4d4b59d89def0eef129aea3ac61ee546a8ae5c7d4e6e3663c5f4090"` [INFO] running `"docker" "rm" "-f" "f3a287d5b4d4b59d89def0eef129aea3ac61ee546a8ae5c7d4e6e3663c5f4090"` [INFO] [stdout] f3a287d5b4d4b59d89def0eef129aea3ac61ee546a8ae5c7d4e6e3663c5f4090