[INFO] cloning repository https://github.com/TuTheWeeb/simplestackmachine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TuTheWeeb/simplestackmachine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuTheWeeb%2Fsimplestackmachine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuTheWeeb%2Fsimplestackmachine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5b29b2c611d68a7787e1a0f67b84c20fa490b302 [INFO] linting TuTheWeeb/simplestackmachine against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuTheWeeb%2Fsimplestackmachine" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/TuTheWeeb/simplestackmachine [INFO] finished tweaking git repo https://github.com/TuTheWeeb/simplestackmachine [INFO] tweaked toml for git repo https://github.com/TuTheWeeb/simplestackmachine written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/TuTheWeeb/simplestackmachine on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/TuTheWeeb/simplestackmachine already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dynasmrt v4.0.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.104 [INFO] [stderr] Downloaded dynasm v4.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2ede8c568c1dd0b3b8a7c1a81021345d66bfc851b20b3cefbc2a7d6a1b1d1fbf [INFO] running `Command { std: "docker" "start" "-a" "2ede8c568c1dd0b3b8a7c1a81021345d66bfc851b20b3cefbc2a7d6a1b1d1fbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2ede8c568c1dd0b3b8a7c1a81021345d66bfc851b20b3cefbc2a7d6a1b1d1fbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ede8c568c1dd0b3b8a7c1a81021345d66bfc851b20b3cefbc2a7d6a1b1d1fbf", kill_on_drop: false }` [INFO] [stdout] 2ede8c568c1dd0b3b8a7c1a81021345d66bfc851b20b3cefbc2a7d6a1b1d1fbf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8822e1adb5d245962f39271c4fce36ead55001ec697182cf470042e049172f83 [INFO] running `Command { std: "docker" "start" "-a" "8822e1adb5d245962f39271c4fce36ead55001ec697182cf470042e049172f83", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.104 [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling dynasm v4.0.2 [INFO] [stderr] Checking dynasmrt v4.0.2 [INFO] [stderr] Checking simplestackmachine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated function `max` is never used [INFO] [stdout] --> src/smachine/vm.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 46 | trait NumberBitsFloat: [INFO] [stdout] | --------------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 55 | fn max() -> f64; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/smachine/compiler.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe { std::mem::transmute(opcode) } [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `max` is never used [INFO] [stdout] --> src/smachine/vm.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 46 | trait NumberBitsFloat: [INFO] [stdout] | --------------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 55 | fn max() -> f64; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/smachine/compiler.rs:54:32 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe { std::mem::transmute(opcode) } [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/smachine/compiler.rs:185:6 [INFO] [stdout] | [INFO] [stdout] 185 | impl<'a> fmt::Display for Token { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/smachine/compiler.rs:185:6 [INFO] [stdout] | [INFO] [stdout] 185 | impl<'a> fmt::Display for Token { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/smachine/compiler.rs:268:15 [INFO] [stdout] | [INFO] [stdout] 268 | fn parse_code<'a>(code: &'a str) -> Option> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 268 - fn parse_code<'a>(code: &'a str) -> Option> { [INFO] [stdout] 268 + fn parse_code(code: &str) -> Option> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/smachine/compiler.rs:303:27 [INFO] [stdout] | [INFO] [stdout] 303 | } else if !token.value.parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token.value.parse::().is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `tokens` [INFO] [stdout] --> src/smachine/compiler.rs:296:14 [INFO] [stdout] | [INFO] [stdout] 296 | for i in 0..tokens.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 296 - for i in 0..tokens.len() { [INFO] [stdout] 296 + for in &mut tokens { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/smachine/compiler.rs:268:15 [INFO] [stdout] | [INFO] [stdout] 268 | fn parse_code<'a>(code: &'a str) -> Option> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 268 - fn parse_code<'a>(code: &'a str) -> Option> { [INFO] [stdout] 268 + fn parse_code(code: &str) -> Option> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/smachine/compiler.rs:303:27 [INFO] [stdout] | [INFO] [stdout] 303 | } else if !token.value.parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token.value.parse::().is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `tokens` [INFO] [stdout] --> src/smachine/compiler.rs:296:14 [INFO] [stdout] | [INFO] [stdout] 296 | for i in 0..tokens.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 296 - for i in 0..tokens.len() { [INFO] [stdout] 296 + for in &mut tokens { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smachine/compiler.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / match token.kind { [INFO] [stdout] 299 | | TokenType::Name => { [INFO] [stdout] 300 | | let found = labels.get(&token.value); [INFO] [stdout] 301 | | if let Some(val) = found { [INFO] [stdout] ... | [INFO] [stdout] 308 | | _ => (), [INFO] [stdout] 309 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 298 ~ if let TokenType::Name = token.kind { [INFO] [stdout] 299 + let found = labels.get(&token.value); [INFO] [stdout] 300 + if let Some(val) = found { [INFO] [stdout] 301 + token.value = val.clone(); [INFO] [stdout] 302 + } else if !token.value.parse::().is_ok() { [INFO] [stdout] 303 + println!("ERROR: label not found: {}", &token.value); [INFO] [stdout] 304 + return None; [INFO] [stdout] 305 + } [INFO] [stdout] 306 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/smachine/compiler.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / match token.kind { [INFO] [stdout] 299 | | TokenType::Name => { [INFO] [stdout] 300 | | let found = labels.get(&token.value); [INFO] [stdout] 301 | | if let Some(val) = found { [INFO] [stdout] ... | [INFO] [stdout] 308 | | _ => (), [INFO] [stdout] 309 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 298 ~ if let TokenType::Name = token.kind { [INFO] [stdout] 299 + let found = labels.get(&token.value); [INFO] [stdout] 300 + if let Some(val) = found { [INFO] [stdout] 301 + token.value = val.clone(); [INFO] [stdout] 302 + } else if !token.value.parse::().is_ok() { [INFO] [stdout] 303 + println!("ERROR: label not found: {}", &token.value); [INFO] [stdout] 304 + return None; [INFO] [stdout] 305 + } [INFO] [stdout] 306 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smachine/vm.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 266 - println!("Segmentation fault (core dumped)"); [INFO] [stdout] 267 - return; [INFO] [stdout] 266 + println!("Segmentation fault (core dumped)"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/smachine/vm.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 266 - println!("Segmentation fault (core dumped)"); [INFO] [stdout] 267 - return; [INFO] [stdout] 266 + println!("Segmentation fault (core dumped)"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/smachine/vm.rs:276:16 [INFO] [stdout] | [INFO] [stdout] 276 | if flag == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `flag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/smachine/vm.rs:276:16 [INFO] [stdout] | [INFO] [stdout] 276 | if flag == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `flag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/smachine/vm.rs:293:16 [INFO] [stdout] | [INFO] [stdout] 293 | if flag == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `flag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/smachine/vm.rs:293:16 [INFO] [stdout] | [INFO] [stdout] 293 | if flag == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `flag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/smachine/vm.rs:421:23 [INFO] [stdout] | [INFO] [stdout] 421 | let val = self.stack[pos].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.stack[pos]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/smachine/vm.rs:421:23 [INFO] [stdout] | [INFO] [stdout] 421 | let val = self.stack[pos].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.stack[pos]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/smachine/vm.rs:449:49 [INFO] [stdout] | [INFO] [stdout] 449 | let res = func(self.stack.as_ptr(), pc.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `pc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/smachine/vm.rs:449:49 [INFO] [stdout] | [INFO] [stdout] 449 | let res = func(self.stack.as_ptr(), pc.clone()); [INFO] [stdout] | ^^^^^^^^^^ help: try removing the `clone` call: `pc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/smachine/vm.rs:519:9 [INFO] [stdout] | [INFO] [stdout] 519 | / if let Some(func_value) = self.funcs_used.get(&self.proc_pc) { [INFO] [stdout] 520 | | if *func_value == INTERPRETED_EXECUTIONS { [INFO] [stdout] 521 | | let _ = self.jit(self.bin[self.proc_pc..self.pc + 1].to_vec()); [INFO] [stdout] 522 | | } [INFO] [stdout] 523 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 519 ~ if let Some(func_value) = self.funcs_used.get(&self.proc_pc) [INFO] [stdout] 520 ~ && *func_value == INTERPRETED_EXECUTIONS { [INFO] [stdout] 521 | let _ = self.jit(self.bin[self.proc_pc..self.pc + 1].to_vec()); [INFO] [stdout] 522 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/smachine/vm.rs:519:9 [INFO] [stdout] | [INFO] [stdout] 519 | / if let Some(func_value) = self.funcs_used.get(&self.proc_pc) { [INFO] [stdout] 520 | | if *func_value == INTERPRETED_EXECUTIONS { [INFO] [stdout] 521 | | let _ = self.jit(self.bin[self.proc_pc..self.pc + 1].to_vec()); [INFO] [stdout] 522 | | } [INFO] [stdout] 523 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 519 ~ if let Some(func_value) = self.funcs_used.get(&self.proc_pc) [INFO] [stdout] 520 ~ && *func_value == INTERPRETED_EXECUTIONS { [INFO] [stdout] 521 | let _ = self.jit(self.bin[self.proc_pc..self.pc + 1].to_vec()); [INFO] [stdout] 522 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/smachine/vm.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | / match int_value { [INFO] [stdout] 554 | | 0 => { [INFO] [stdout] 555 | | self.halt(); [INFO] [stdout] ... | [INFO] [stdout] 558 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 553 ~ if int_value == 0 { [INFO] [stdout] 554 + self.halt(); [INFO] [stdout] 555 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/smachine/vm.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | / match int_value { [INFO] [stdout] 554 | | 0 => { [INFO] [stdout] 555 | | self.halt(); [INFO] [stdout] ... | [INFO] [stdout] 558 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 553 ~ if int_value == 0 { [INFO] [stdout] 554 + self.halt(); [INFO] [stdout] 555 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/main.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | if let Ok(_) = res { [INFO] [stdout] | -------^^^^^------ help: try: `if res.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/main.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | if let Ok(_) = res { [INFO] [stdout] | -------^^^^^------ help: try: `if res.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.76s [INFO] running `Command { std: "docker" "inspect" "8822e1adb5d245962f39271c4fce36ead55001ec697182cf470042e049172f83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8822e1adb5d245962f39271c4fce36ead55001ec697182cf470042e049172f83", kill_on_drop: false }` [INFO] [stdout] 8822e1adb5d245962f39271c4fce36ead55001ec697182cf470042e049172f83