[INFO] updating cached repository VladMoldoveanu/Brainfuck_stack-and-functions [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/VladMoldoveanu/Brainfuck_stack-and-functions [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/VladMoldoveanu/Brainfuck_stack-and-functions" "work/ex/clippy-test-run/sources/stable/gh/VladMoldoveanu/Brainfuck_stack-and-functions"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/VladMoldoveanu/Brainfuck_stack-and-functions'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/VladMoldoveanu/Brainfuck_stack-and-functions" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VladMoldoveanu/Brainfuck_stack-and-functions"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VladMoldoveanu/Brainfuck_stack-and-functions'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9b82c9b43dbd5f17383361ed1044746e39d9bd12 [INFO] sha for GitHub repo VladMoldoveanu/Brainfuck_stack-and-functions: 9b82c9b43dbd5f17383361ed1044746e39d9bd12 [INFO] validating manifest of VladMoldoveanu/Brainfuck_stack-and-functions 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 VladMoldoveanu/Brainfuck_stack-and-functions 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 VladMoldoveanu/Brainfuck_stack-and-functions [INFO] finished frobbing VladMoldoveanu/Brainfuck_stack-and-functions [INFO] frobbed toml for VladMoldoveanu/Brainfuck_stack-and-functions written to work/ex/clippy-test-run/sources/stable/gh/VladMoldoveanu/Brainfuck_stack-and-functions/Cargo.toml [INFO] started frobbing VladMoldoveanu/Brainfuck_stack-and-functions [INFO] finished frobbing VladMoldoveanu/Brainfuck_stack-and-functions [INFO] frobbed toml for VladMoldoveanu/Brainfuck_stack-and-functions written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/VladMoldoveanu/Brainfuck_stack-and-functions/Cargo.toml [INFO] crate VladMoldoveanu/Brainfuck_stack-and-functions 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 VladMoldoveanu/Brainfuck_stack-and-functions against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/VladMoldoveanu/Brainfuck_stack-and-functions:/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] bd28ffda87f1243e13d3b25b07f3cf2178467b65628ebc123dd6d27c005b5fd5 [INFO] running `"docker" "start" "-a" "bd28ffda87f1243e13d3b25b07f3cf2178467b65628ebc123dd6d27c005b5fd5"` [INFO] [stderr] Checking Brainfuck v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dispatcher/operation/function.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | return (self.funs.len() + self.temp.len()) as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.funs.len() + self.temp.len()) as i32` [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/dispatcher/mod.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | '>' => return Op(Move(amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Move(amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | '<' => return Op(Move(-amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Move(-amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | '+' => return Op(Add(amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Add(amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | '-' => return Op(Add(-amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Add(-amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | '.' => {rd.next(); return Op(Write);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Write)` [INFO] [stderr] | [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/dispatcher/mod.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | ',' => {rd.next(); return Op(Read);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Read)` [INFO] [stderr] | [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/dispatcher/mod.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | return Op(Set(fh.curr_funs())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Set(fh.curr_funs()))` [INFO] [stderr] | [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/dispatcher/mod.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | return Op(InsFuns); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(InsFuns)` [INFO] [stderr] | [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/dispatcher/mod.rs:48:25 [INFO] [stderr] | [INFO] [stderr] 48 | '\\' => return Op(CallFSep(amalgamate(rd) as usize)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFSep(amalgamate(rd) as usize))` [INFO] [stderr] | [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/dispatcher/mod.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | _ => return Op(CallFSep(0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFSep(0))` [INFO] [stderr] | [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/dispatcher/mod.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | '|' => {rd.next(); return Op(CallFun);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFun)` [INFO] [stderr] | [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/dispatcher/mod.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | ']' => {rd.next(); return Error(String::from("Found ']' without matching '['"))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Found ']' without matching '['"))` [INFO] [stderr] | [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/dispatcher/mod.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | '\\' => {rd.next(); return Error(String::from("Found '\\' without '/' function call"))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Found '\\' without '/' function call"))` [INFO] [stderr] | [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/dispatcher/mod.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | '[' => {rd.next(); return create_loop(rd, fh)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `create_loop(rd, fh)` [INFO] [stderr] | [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/dispatcher/mod.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | '~' => {rd.next(); return create_fun(rd, fh)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `create_fun(rd, fh)` [INFO] [stderr] | [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/dispatcher/mod.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | '#' => {amalgamate(rd); return Op(Debug)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Debug)` [INFO] [stderr] | [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/dispatcher/mod.rs:58:33 [INFO] [stderr] | [INFO] [stderr] 58 | '@' => {amalgamate(rd); return Op(PeekStack)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PeekStack)` [INFO] [stderr] | [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/dispatcher/mod.rs:59:28 [INFO] [stderr] | [INFO] [stderr] 59 | '&' => {rd.next(); return Op(PushStack)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PushStack)` [INFO] [stderr] | [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/dispatcher/mod.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | '^' => {rd.next(); return Op(PopStack(1))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PopStack(1))` [INFO] [stderr] | [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/dispatcher/mod.rs:61:33 [INFO] [stderr] | [INFO] [stderr] 61 | '?' => {amalgamate(rd); return Op(StackLen)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(StackLen)` [INFO] [stderr] | [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/dispatcher/mod.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | _ => return Error(String::from("Unidentified character passed filtering")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Unidentified character passed filtering"))` [INFO] [stderr] | [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/cmd_loop/mod.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | return SpecialCmd::Load(files); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Load(files)` [INFO] [stderr] | [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/cmd_loop/mod.rs:112:22 [INFO] [stderr] | [INFO] [stderr] 112 | Some('t') => return SpecialCmd::Time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Time` [INFO] [stderr] | [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/cmd_loop/mod.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | return SpecialCmd::File(file); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::File(file)` [INFO] [stderr] | [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/cmd_loop/mod.rs:126:22 [INFO] [stderr] | [INFO] [stderr] 126 | Some('q') => return SpecialCmd::Quit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Quit` [INFO] [stderr] | [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/cmd_loop/mod.rs:127:22 [INFO] [stderr] | [INFO] [stderr] 127 | Some('h') => return SpecialCmd::Help, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Help` [INFO] [stderr] | [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/cmd_loop/mod.rs:128:14 [INFO] [stderr] | [INFO] [stderr] 128 | _ => return SpecialCmd::Error, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Error` [INFO] [stderr] | [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/optimiser/mod.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | return total_move == 0 && point_diff == -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `total_move == 0 && point_diff == -1` [INFO] [stderr] | [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/dispatcher/operation/function.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | return (self.funs.len() + self.temp.len()) as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.funs.len() + self.temp.len()) as i32` [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/dispatcher/mod.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | '>' => return Op(Move(amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Move(amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | '<' => return Op(Move(-amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Move(-amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | '+' => return Op(Add(amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Add(amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | '-' => return Op(Add(-amalgamate(rd))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Add(-amalgamate(rd)))` [INFO] [stderr] | [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/dispatcher/mod.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | '.' => {rd.next(); return Op(Write);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Write)` [INFO] [stderr] | [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/dispatcher/mod.rs:33:28 [INFO] [stderr] | [INFO] [stderr] 33 | ',' => {rd.next(); return Op(Read);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Read)` [INFO] [stderr] | [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/dispatcher/mod.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | return Op(Set(fh.curr_funs())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Set(fh.curr_funs()))` [INFO] [stderr] | [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/dispatcher/mod.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | return Op(InsFuns); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(InsFuns)` [INFO] [stderr] | [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/dispatcher/mod.rs:48:25 [INFO] [stderr] | [INFO] [stderr] 48 | '\\' => return Op(CallFSep(amalgamate(rd) as usize)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFSep(amalgamate(rd) as usize))` [INFO] [stderr] | [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/dispatcher/mod.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | _ => return Op(CallFSep(0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFSep(0))` [INFO] [stderr] | [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/dispatcher/mod.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | '|' => {rd.next(); return Op(CallFun);} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(CallFun)` [INFO] [stderr] | [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/dispatcher/mod.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | ']' => {rd.next(); return Error(String::from("Found ']' without matching '['"))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Found ']' without matching '['"))` [INFO] [stderr] | [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/dispatcher/mod.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | '\\' => {rd.next(); return Error(String::from("Found '\\' without '/' function call"))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Found '\\' without '/' function call"))` [INFO] [stderr] | [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/dispatcher/mod.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | '[' => {rd.next(); return create_loop(rd, fh)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `create_loop(rd, fh)` [INFO] [stderr] | [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/dispatcher/mod.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | '~' => {rd.next(); return create_fun(rd, fh)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `create_fun(rd, fh)` [INFO] [stderr] | [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/dispatcher/mod.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | '#' => {amalgamate(rd); return Op(Debug)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(Debug)` [INFO] [stderr] | [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/dispatcher/mod.rs:58:33 [INFO] [stderr] | [INFO] [stderr] 58 | '@' => {amalgamate(rd); return Op(PeekStack)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PeekStack)` [INFO] [stderr] | [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/dispatcher/mod.rs:59:28 [INFO] [stderr] | [INFO] [stderr] 59 | '&' => {rd.next(); return Op(PushStack)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PushStack)` [INFO] [stderr] | [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/dispatcher/mod.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | '^' => {rd.next(); return Op(PopStack(1))} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(PopStack(1))` [INFO] [stderr] | [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/dispatcher/mod.rs:61:33 [INFO] [stderr] | [INFO] [stderr] 61 | '?' => {amalgamate(rd); return Op(StackLen)} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Op(StackLen)` [INFO] [stderr] | [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/dispatcher/mod.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | _ => return Error(String::from("Unidentified character passed filtering")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Error(String::from("Unidentified character passed filtering"))` [INFO] [stderr] | [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/cmd_loop/mod.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | return SpecialCmd::Load(files); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Load(files)` [INFO] [stderr] | [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/cmd_loop/mod.rs:112:22 [INFO] [stderr] | [INFO] [stderr] 112 | Some('t') => return SpecialCmd::Time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Time` [INFO] [stderr] | [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/cmd_loop/mod.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | return SpecialCmd::File(file); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::File(file)` [INFO] [stderr] | [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/cmd_loop/mod.rs:126:22 [INFO] [stderr] | [INFO] [stderr] 126 | Some('q') => return SpecialCmd::Quit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Quit` [INFO] [stderr] | [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/cmd_loop/mod.rs:127:22 [INFO] [stderr] | [INFO] [stderr] 127 | Some('h') => return SpecialCmd::Help, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Help` [INFO] [stderr] | [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/cmd_loop/mod.rs:128:14 [INFO] [stderr] | [INFO] [stderr] 128 | _ => return SpecialCmd::Error, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `SpecialCmd::Error` [INFO] [stderr] | [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/optimiser/mod.rs:177:5 [INFO] [stderr] | [INFO] [stderr] 177 | return total_move == 0 && point_diff == -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `total_move == 0 && point_diff == -1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: crate `Brainfuck` should have a snake case name such as `brainfuck` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dispatcher/operation/base_operation.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match self { [INFO] [stderr] 55 | | &Add(i) => ah.add(i), [INFO] [stderr] 56 | | &Move(i) => ah.move_r(i), [INFO] [stderr] 57 | | &Set(i) => ah.set(i), [INFO] [stderr] ... | [INFO] [stderr] 86 | | &StackLen => ah.set(STACK_HOLDER.lock().unwrap().len() as i32), [INFO] [stderr] 87 | | } [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] 54 | match *self { [INFO] [stderr] 55 | Add(i) => ah.add(i), [INFO] [stderr] 56 | Move(i) => ah.move_r(i), [INFO] [stderr] 57 | Set(i) => ah.set(i), [INFO] [stderr] 58 | While(ref ops) => { [INFO] [stderr] 59 | while ah.get() != 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dispatcher/operation/array_handler/mod.rs:66:18 [INFO] [stderr] | [INFO] [stderr] 66 | for i in 0..(args + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=args` [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: you should consider adding a `Default` implementation for `compiler::Compiler` [INFO] [stderr] --> src/compiler/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Compiler { [INFO] [stderr] 44 | | Compiler { [INFO] [stderr] 45 | | ops: VecDeque::new(), [INFO] [stderr] 46 | | temp: VecDeque::new(), [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | impl Default for compiler::Compiler { [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] 32 | Self::new() [INFO] [stderr] 33 | } [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:102:29 [INFO] [stderr] | [INFO] [stderr] 102 | elapsed.subsec_nanos() as f64 / 1_000_000f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [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: The function/method `execute` doesn't need a mutable reference [INFO] [stderr] --> src/compiler/mod.rs:184:37 [INFO] [stderr] | [INFO] [stderr] 184 | i.execute(&mut self.ah, &mut self.fh); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | elapsed.subsec_nanos() as f64 / (1_000_000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:190:57 [INFO] [stderr] | [INFO] [stderr] 190 | elapsed.subsec_nanos() as f64 / (1_000_000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(1_000_000)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/cmd_loop/mod.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | x.write(s.as_bytes()).expect("Could not write to file"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/optimiser/mod.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if ops.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ops.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/optimiser/mod.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if optimised.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optimised.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/optimiser/mod.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | fn move_and_add(ops: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Operation]` [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: the loop variable `i` is only used to index `ops`. [INFO] [stderr] --> src/optimiser/mod.rs:166:14 [INFO] [stderr] | [INFO] [stderr] 166 | for i in 0..ops.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 166 | for in &ops { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `Brainfuck`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: crate `Brainfuck` should have a snake case name such as `brainfuck` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dispatcher/operation/base_operation.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match self { [INFO] [stderr] 55 | | &Add(i) => ah.add(i), [INFO] [stderr] 56 | | &Move(i) => ah.move_r(i), [INFO] [stderr] 57 | | &Set(i) => ah.set(i), [INFO] [stderr] ... | [INFO] [stderr] 86 | | &StackLen => ah.set(STACK_HOLDER.lock().unwrap().len() as i32), [INFO] [stderr] 87 | | } [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] 54 | match *self { [INFO] [stderr] 55 | Add(i) => ah.add(i), [INFO] [stderr] 56 | Move(i) => ah.move_r(i), [INFO] [stderr] 57 | Set(i) => ah.set(i), [INFO] [stderr] 58 | While(ref ops) => { [INFO] [stderr] 59 | while ah.get() != 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dispatcher/operation/array_handler/mod.rs:66:18 [INFO] [stderr] | [INFO] [stderr] 66 | for i in 0..(args + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=args` [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: you should consider adding a `Default` implementation for `compiler::Compiler` [INFO] [stderr] --> src/compiler/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Compiler { [INFO] [stderr] 44 | | Compiler { [INFO] [stderr] 45 | | ops: VecDeque::new(), [INFO] [stderr] 46 | | temp: VecDeque::new(), [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | impl Default for compiler::Compiler { [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] 32 | Self::new() [INFO] [stderr] 33 | } [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:102:29 [INFO] [stderr] | [INFO] [stderr] 102 | elapsed.subsec_nanos() as f64 / 1_000_000f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [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: The function/method `execute` doesn't need a mutable reference [INFO] [stderr] --> src/compiler/mod.rs:184:37 [INFO] [stderr] | [INFO] [stderr] 184 | i.execute(&mut self.ah, &mut self.fh); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | elapsed.subsec_nanos() as f64 / (1_000_000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/compiler/mod.rs:190:57 [INFO] [stderr] | [INFO] [stderr] 190 | elapsed.subsec_nanos() as f64 / (1_000_000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(1_000_000)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/cmd_loop/mod.rs:77:33 [INFO] [stderr] | [INFO] [stderr] 77 | x.write(s.as_bytes()).expect("Could not write to file"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/optimiser/mod.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | if ops.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ops.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/optimiser/mod.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if optimised.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `optimised.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/optimiser/mod.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | fn move_and_add(ops: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Operation]` [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: the loop variable `i` is only used to index `ops`. [INFO] [stderr] --> src/optimiser/mod.rs:166:14 [INFO] [stderr] | [INFO] [stderr] 166 | for i in 0..ops.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 166 | for in &ops { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `Brainfuck`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "bd28ffda87f1243e13d3b25b07f3cf2178467b65628ebc123dd6d27c005b5fd5"` [INFO] running `"docker" "rm" "-f" "bd28ffda87f1243e13d3b25b07f3cf2178467b65628ebc123dd6d27c005b5fd5"` [INFO] [stdout] bd28ffda87f1243e13d3b25b07f3cf2178467b65628ebc123dd6d27c005b5fd5