[INFO] cloning repository https://github.com/codec-abc/synacor-challenge-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/codec-abc/synacor-challenge-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodec-abc%2Fsynacor-challenge-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodec-abc%2Fsynacor-challenge-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8106355e9b1dc3a97f41e0c79ff83a12e31d792e [INFO] linting codec-abc/synacor-challenge-rust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodec-abc%2Fsynacor-challenge-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/codec-abc/synacor-challenge-rust [INFO] finished tweaking git repo https://github.com/codec-abc/synacor-challenge-rust [INFO] tweaked toml for git repo https://github.com/codec-abc/synacor-challenge-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/codec-abc/synacor-challenge-rust 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/codec-abc/synacor-challenge-rust 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num-iter v0.1.35 [INFO] [stderr] Downloaded num-traits v0.2.0 [INFO] [stderr] Downloaded num-integer v0.1.36 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] cd507a7372fcc6edd4df3cf02fb0d02f04cf82bd8ee32e0780fe17bd8a3e195e [INFO] running `Command { std: "docker" "start" "-a" "cd507a7372fcc6edd4df3cf02fb0d02f04cf82bd8ee32e0780fe17bd8a3e195e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd507a7372fcc6edd4df3cf02fb0d02f04cf82bd8ee32e0780fe17bd8a3e195e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd507a7372fcc6edd4df3cf02fb0d02f04cf82bd8ee32e0780fe17bd8a3e195e", kill_on_drop: false }` [INFO] [stdout] cd507a7372fcc6edd4df3cf02fb0d02f04cf82bd8ee32e0780fe17bd8a3e195e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 3b9cf192c8710c5cb4b4f62173fe822310942dbaf73f4cbe5a67da07f4a01892 [INFO] running `Command { std: "docker" "start" "-a" "3b9cf192c8710c5cb4b4f62173fe822310942dbaf73f4cbe5a67da07f4a01892", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking num-traits v0.2.0 [INFO] [stderr] Checking libc v0.2.36 [INFO] [stderr] Checking byteorder v1.2.1 [INFO] [stderr] Checking num-integer v0.1.36 [INFO] [stderr] Checking time v0.1.39 [INFO] [stderr] Checking num-iter v0.1.35 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking chrono v0.4.0 [INFO] [stderr] Checking synacor_challenge v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:231:51 [INFO] [stdout] | [INFO] [stdout] 231 | let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 231 - let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 231 + let register_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:232:48 [INFO] [stdout] | [INFO] [stdout] 232 | let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 232 - let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] 232 + let value_result = read_mem_as_u16_le(mem, offset + 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:249:27 [INFO] [stdout] | [INFO] [stdout] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `register` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:249:48 [INFO] [stdout] | [INFO] [stdout] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:256:48 [INFO] [stdout] | [INFO] [stdout] 256 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 256 + let value_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:268:22 [INFO] [stdout] | [INFO] [stdout] 268 | let push = Push {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:275:48 [INFO] [stdout] | [INFO] [stdout] 275 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 275 + let value_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:287:20 [INFO] [stdout] | [INFO] [stdout] 287 | let pop = Pop {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:294:47 [INFO] [stdout] | [INFO] [stdout] 294 | let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 294 - let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 294 + let cell_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:295:56 [INFO] [stdout] | [INFO] [stdout] 295 | let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 295 - let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] 295 + let first_operand_result = read_mem_as_u16_le(mem, offset + 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:296:57 [INFO] [stdout] | [INFO] [stdout] 296 | let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 296 - let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stdout] 296 + let second_operand_result = read_mem_as_u16_le(mem, offset + 3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:325:13 [INFO] [stdout] | [INFO] [stdout] 325 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let jump = Jump {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:410:38 [INFO] [stdout] | [INFO] [stdout] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:410:53 [INFO] [stdout] | [INFO] [stdout] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:435:31 [INFO] [stdout] | [INFO] [stdout] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:435:46 [INFO] [stdout] | [INFO] [stdout] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:513:13 [INFO] [stdout] | [INFO] [stdout] 513 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:514:13 [INFO] [stdout] | [INFO] [stdout] 514 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:555:13 [INFO] [stdout] | [INFO] [stdout] 555 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 556 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:597:13 [INFO] [stdout] | [INFO] [stdout] 597 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:598:13 [INFO] [stdout] | [INFO] [stdout] 598 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:639:13 [INFO] [stdout] | [INFO] [stdout] 639 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:640:13 [INFO] [stdout] | [INFO] [stdout] 640 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:674:13 [INFO] [stdout] | [INFO] [stdout] 674 | operand : operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:711:13 [INFO] [stdout] | [INFO] [stdout] 711 | memory_address_to_read : memory_address_to_read [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:745:13 [INFO] [stdout] | [INFO] [stdout] 745 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | memory_address_to_write_to : memory_address_to_write_to [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_write_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:766:22 [INFO] [stdout] | [INFO] [stdout] 766 | let call = Call {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:785:20 [INFO] [stdout] | [INFO] [stdout] 785 | let out = Out {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:804:19 [INFO] [stdout] | [INFO] [stdout] 804 | let in_ = In {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:231:51 [INFO] [stdout] | [INFO] [stdout] 231 | let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 231 - let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 231 + let register_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:232:48 [INFO] [stdout] | [INFO] [stdout] 232 | let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 232 - let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] 232 + let value_result = read_mem_as_u16_le(mem, offset + 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:249:27 [INFO] [stdout] | [INFO] [stdout] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `register` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:249:48 [INFO] [stdout] | [INFO] [stdout] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:256:48 [INFO] [stdout] | [INFO] [stdout] 256 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 256 + let value_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:268:22 [INFO] [stdout] | [INFO] [stdout] 268 | let push = Push {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:275:48 [INFO] [stdout] | [INFO] [stdout] 275 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 275 + let value_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:287:20 [INFO] [stdout] | [INFO] [stdout] 287 | let pop = Pop {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:294:47 [INFO] [stdout] | [INFO] [stdout] 294 | let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 294 - let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stdout] 294 + let cell_result = read_mem_as_u16_le(mem, offset + 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:295:56 [INFO] [stdout] | [INFO] [stdout] 295 | let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 295 - let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stdout] 295 + let first_operand_result = read_mem_as_u16_le(mem, offset + 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/opcode.rs:296:57 [INFO] [stdout] | [INFO] [stdout] 296 | let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 296 - let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stdout] 296 + let second_operand_result = read_mem_as_u16_le(mem, offset + 3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:325:13 [INFO] [stdout] | [INFO] [stdout] 325 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let jump = Jump {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:410:38 [INFO] [stdout] | [INFO] [stdout] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:410:53 [INFO] [stdout] | [INFO] [stdout] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:435:31 [INFO] [stdout] | [INFO] [stdout] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:435:46 [INFO] [stdout] | [INFO] [stdout] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:513:13 [INFO] [stdout] | [INFO] [stdout] 513 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:514:13 [INFO] [stdout] | [INFO] [stdout] 514 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:555:13 [INFO] [stdout] | [INFO] [stdout] 555 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 556 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:597:13 [INFO] [stdout] | [INFO] [stdout] 597 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:598:13 [INFO] [stdout] | [INFO] [stdout] 598 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:639:13 [INFO] [stdout] | [INFO] [stdout] 639 | first_operand : first_operand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:640:13 [INFO] [stdout] | [INFO] [stdout] 640 | second_operand : second_operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:674:13 [INFO] [stdout] | [INFO] [stdout] 674 | operand : operand [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:711:13 [INFO] [stdout] | [INFO] [stdout] 711 | memory_address_to_read : memory_address_to_read [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:745:13 [INFO] [stdout] | [INFO] [stdout] 745 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | memory_address_to_write_to : memory_address_to_write_to [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_write_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:766:22 [INFO] [stdout] | [INFO] [stdout] 766 | let call = Call {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:785:20 [INFO] [stdout] | [INFO] [stdout] 785 | let out = Out {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/opcode.rs:804:19 [INFO] [stdout] | [INFO] [stdout] 804 | let in_ = In {value : value}; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:626:25 [INFO] [stdout] | [INFO] [stdout] 626 | let mut f = File::create(dir.clone() + "registers.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:640:25 [INFO] [stdout] | [INFO] [stdout] 640 | let mut f = File::create(dir.clone() + "stack.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:654:25 [INFO] [stdout] | [INFO] [stdout] 654 | let mut f = File::create(dir.clone() + "program_counter.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:665:25 [INFO] [stdout] | [INFO] [stdout] 665 | let mut f = File::create(dir.clone() + "step_number.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:676:25 [INFO] [stdout] | [INFO] [stdout] 676 | let mut f = File::create(dir.clone() + "memory.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let mut should_continue = true; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_invalid_number` is never used [INFO] [stdout] --> src/opcode.rs:838:12 [INFO] [stdout] | [INFO] [stdout] 818 | impl ParsedNumber [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 838 | pub fn is_invalid_number(&self) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/vm.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | OpCodeParseFailure(opcode::ReadOpCodeFailure), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RunFailure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - OpCodeParseFailure(opcode::ReadOpCodeFailure), [INFO] [stdout] 25 + OpCodeParseFailure(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/opcode.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | / match mem.get(offset as usize) [INFO] [stdout] 174 | | { [INFO] [stdout] 175 | | None => None, [INFO] [stdout] 176 | | Some(x) => Some(*x) [INFO] [stdout] 177 | | } [INFO] [stdout] | |_____^ help: try: `mem.get(offset as usize).map(|x| *x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:822:9 [INFO] [stdout] | [INFO] [stdout] 822 | / match *self [INFO] [stdout] 823 | | { [INFO] [stdout] 824 | | ParsedNumber::LiteralValue(_) => true, [INFO] [stdout] 825 | | _ => false [INFO] [stdout] 826 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 822 - match *self [INFO] [stdout] 823 - { [INFO] [stdout] 824 - ParsedNumber::LiteralValue(_) => true, [INFO] [stdout] 825 - _ => false [INFO] [stdout] 826 - } [INFO] [stdout] 822 + matches!(*self, ParsedNumber::LiteralValue(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:831:9 [INFO] [stdout] | [INFO] [stdout] 831 | / match *self [INFO] [stdout] 832 | | { [INFO] [stdout] 833 | | ParsedNumber::Register(_) => true, [INFO] [stdout] 834 | | _ => false [INFO] [stdout] 835 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 831 - match *self [INFO] [stdout] 832 - { [INFO] [stdout] 833 - ParsedNumber::Register(_) => true, [INFO] [stdout] 834 - _ => false [INFO] [stdout] 835 - } [INFO] [stdout] 831 + matches!(*self, ParsedNumber::Register(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | / match *self [INFO] [stdout] 841 | | { [INFO] [stdout] 842 | | ParsedNumber::InvalidNumber => true, [INFO] [stdout] 843 | | _ => false [INFO] [stdout] 844 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 840 - match *self [INFO] [stdout] 841 - { [INFO] [stdout] 842 - ParsedNumber::InvalidNumber => true, [INFO] [stdout] 843 - _ => false [INFO] [stdout] 844 - } [INFO] [stdout] 840 + matches!(*self, ParsedNumber::InvalidNumber) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:849:9 [INFO] [stdout] | [INFO] [stdout] 849 | / match *self [INFO] [stdout] 850 | | { [INFO] [stdout] 851 | | ParsedNumber::InvalidNumber => false, [INFO] [stdout] 852 | | _ => true [INFO] [stdout] 853 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 849 - match *self [INFO] [stdout] 850 - { [INFO] [stdout] 851 - ParsedNumber::InvalidNumber => false, [INFO] [stdout] 852 - _ => true [INFO] [stdout] 853 - } [INFO] [stdout] 849 + !matches!(*self, ParsedNumber::InvalidNumber) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/vm.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | / println! [INFO] [stdout] 39 | | ( [INFO] [stdout] 40 | | "current program counter {} in bytes 0x{}", [INFO] [stdout] 41 | | self.program_counter, [INFO] [stdout] 42 | | format!("{:X}", self.program_counter * 2) [INFO] [stdout] 43 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [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/vm.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | / match op_code_result [INFO] [stdout] 123 | | { [INFO] [stdout] 124 | | Err(_) => println!("current op code {:?}", op_code_result), [INFO] [stdout] 125 | | Ok(_) => (), [INFO] [stdout] 126 | | } [INFO] [stdout] | |_________^ help: try: `if let Err(_) = op_code_result { println!("current op code {:?}", op_code_result) }` [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] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | self.step_nb = self.step_nb + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.step_nb += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/vm.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/vm.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if self.stack.len() > 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 243 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:264:17 [INFO] [stdout] | [INFO] [stdout] 264 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:303:13 [INFO] [stdout] | [INFO] [stdout] 303 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:328:17 [INFO] [stdout] | [INFO] [stdout] 328 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:374:17 [INFO] [stdout] | [INFO] [stdout] 374 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:397:17 [INFO] [stdout] | [INFO] [stdout] 397 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:441:17 [INFO] [stdout] | [INFO] [stdout] 441 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:626:25 [INFO] [stdout] | [INFO] [stdout] 626 | let mut f = File::create(dir.clone() + "registers.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:640:25 [INFO] [stdout] | [INFO] [stdout] 640 | let mut f = File::create(dir.clone() + "stack.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:469:25 [INFO] [stdout] | [INFO] [stdout] 469 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:654:25 [INFO] [stdout] | [INFO] [stdout] 654 | let mut f = File::create(dir.clone() + "program_counter.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:665:25 [INFO] [stdout] | [INFO] [stdout] 665 | let mut f = File::create(dir.clone() + "step_number.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm.rs:676:25 [INFO] [stdout] | [INFO] [stdout] 676 | let mut f = File::create(dir.clone() + "memory.txt"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | let mut should_continue = true; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:477:25 [INFO] [stdout] | [INFO] [stdout] 477 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/vm.rs:533:12 [INFO] [stdout] | [INFO] [stdout] 533 | if self.stack.len() < 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.stack.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_invalid_number` is never used [INFO] [stdout] --> src/opcode.rs:838:12 [INFO] [stdout] | [INFO] [stdout] 818 | impl ParsedNumber [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 838 | pub fn is_invalid_number(&self) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/vm.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | OpCodeParseFailure(opcode::ReadOpCodeFailure), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `RunFailure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - OpCodeParseFailure(opcode::ReadOpCodeFailure), [INFO] [stdout] 25 + OpCodeParseFailure(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/vm.rs:559:12 [INFO] [stdout] | [INFO] [stdout] 559 | if self.pending_char.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.pending_char.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `ok().expect()` on a `Result` value [INFO] [stdout] --> src/vm.rs:563:13 [INFO] [stdout] | [INFO] [stdout] 563 | / io::stdin() [INFO] [stdout] 564 | | .read_line(&mut line) [INFO] [stdout] 565 | | .ok() [INFO] [stdout] 566 | | .expect("Failed to read line"); [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stdout] = note: `#[warn(clippy::ok_expect)]` on by default [INFO] [stdout] help: call `expect()` directly on the `Result` [INFO] [stdout] | [INFO] [stdout] 564 - .read_line(&mut line) [INFO] [stdout] 565 - .ok() [INFO] [stdout] 566 - .expect("Failed to read line"); [INFO] [stdout] 564 + .read_line(&mut line).expect("Failed to read line"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/vm.rs:588:20 [INFO] [stdout] | [INFO] [stdout] 588 | if self.pending_char.len() >= 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.pending_char.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:606:9 [INFO] [stdout] | [INFO] [stdout] 606 | self.program_counter = self.program_counter + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/vm.rs:627:21 [INFO] [stdout] | [INFO] [stdout] 627 | / match f [INFO] [stdout] 628 | | { [INFO] [stdout] 629 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 636 | | Err(_) => (), [INFO] [stdout] 637 | | } [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] 627 ~ if let Ok(mut file) = f { [INFO] [stdout] 628 + for reg in self.register.iter() [INFO] [stdout] 629 + { [INFO] [stdout] 630 + file.write_all(format!("{}\n", reg).as_bytes()).unwrap(); [INFO] [stdout] 631 + } [INFO] [stdout] 632 + } [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/vm.rs:641:21 [INFO] [stdout] | [INFO] [stdout] 641 | / match f [INFO] [stdout] 642 | | { [INFO] [stdout] 643 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 650 | | Err(_) => (), [INFO] [stdout] 651 | | } [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] 641 ~ if let Ok(mut file) = f { [INFO] [stdout] 642 + for stack_value in self.stack.iter() [INFO] [stdout] 643 + { [INFO] [stdout] 644 + file.write_all(format!("{}\n", stack_value).as_bytes()).unwrap(); [INFO] [stdout] 645 + } [INFO] [stdout] 646 + } [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/vm.rs:655:21 [INFO] [stdout] | [INFO] [stdout] 655 | / match f [INFO] [stdout] 656 | | { [INFO] [stdout] 657 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 661 | | Err(_) => (), [INFO] [stdout] 662 | | } [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] 655 ~ if let Ok(mut file) = f { [INFO] [stdout] 656 + file.write_all(format!("{}\n", self.program_counter).as_bytes()).unwrap(); [INFO] [stdout] 657 + } [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/vm.rs:666:21 [INFO] [stdout] | [INFO] [stdout] 666 | / match f [INFO] [stdout] 667 | | { [INFO] [stdout] 668 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 672 | | Err(_) => (), [INFO] [stdout] 673 | | } [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] 666 ~ if let Ok(mut file) = f { [INFO] [stdout] 667 + file.write_all(format!("{}\n", self.step_nb).as_bytes()).unwrap(); [INFO] [stdout] 668 + } [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/vm.rs:677:21 [INFO] [stdout] | [INFO] [stdout] 677 | / match f [INFO] [stdout] 678 | | { [INFO] [stdout] 679 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 686 | | Err(_) => (), [INFO] [stdout] 687 | | } [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] 677 ~ if let Ok(mut file) = f { [INFO] [stdout] 678 + for mem_value in self.memory.iter() [INFO] [stdout] 679 + { [INFO] [stdout] 680 + file.write_all(format!("{}\n", mem_value).as_bytes()).unwrap(); [INFO] [stdout] 681 + } [INFO] [stdout] 682 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/opcode.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | / match mem.get(offset as usize) [INFO] [stdout] 174 | | { [INFO] [stdout] 175 | | None => None, [INFO] [stdout] 176 | | Some(x) => Some(*x) [INFO] [stdout] 177 | | } [INFO] [stdout] | |_____^ help: try: `mem.get(offset as usize).map(|x| *x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 29 | while should_continue && !result.is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [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: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 38 | if result.is_err() [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 39 | { [INFO] [stdout] 40 | let err = result.unwrap_err(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `u16_result` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:77:30 [INFO] [stdout] | [INFO] [stdout] 71 | if u16_result.is_err() [INFO] [stdout] | ---------------------- help: try: `if let Ok() = u16_result` [INFO] [stdout] ... [INFO] [stdout] 77 | mem_u16.push(u16_result.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/main.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | if size % 2 != 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!size.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:822:9 [INFO] [stdout] | [INFO] [stdout] 822 | / match *self [INFO] [stdout] 823 | | { [INFO] [stdout] 824 | | ParsedNumber::LiteralValue(_) => true, [INFO] [stdout] 825 | | _ => false [INFO] [stdout] 826 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 822 - match *self [INFO] [stdout] 823 - { [INFO] [stdout] 824 - ParsedNumber::LiteralValue(_) => true, [INFO] [stdout] 825 - _ => false [INFO] [stdout] 826 - } [INFO] [stdout] 822 + matches!(*self, ParsedNumber::LiteralValue(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:831:9 [INFO] [stdout] | [INFO] [stdout] 831 | / match *self [INFO] [stdout] 832 | | { [INFO] [stdout] 833 | | ParsedNumber::Register(_) => true, [INFO] [stdout] 834 | | _ => false [INFO] [stdout] 835 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 831 - match *self [INFO] [stdout] 832 - { [INFO] [stdout] 833 - ParsedNumber::Register(_) => true, [INFO] [stdout] 834 - _ => false [INFO] [stdout] 835 - } [INFO] [stdout] 831 + matches!(*self, ParsedNumber::Register(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | / match *self [INFO] [stdout] 841 | | { [INFO] [stdout] 842 | | ParsedNumber::InvalidNumber => true, [INFO] [stdout] 843 | | _ => false [INFO] [stdout] 844 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 840 - match *self [INFO] [stdout] 841 - { [INFO] [stdout] 842 - ParsedNumber::InvalidNumber => true, [INFO] [stdout] 843 - _ => false [INFO] [stdout] 844 - } [INFO] [stdout] 840 + matches!(*self, ParsedNumber::InvalidNumber) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/opcode.rs:849:9 [INFO] [stdout] | [INFO] [stdout] 849 | / match *self [INFO] [stdout] 850 | | { [INFO] [stdout] 851 | | ParsedNumber::InvalidNumber => false, [INFO] [stdout] 852 | | _ => true [INFO] [stdout] 853 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 849 - match *self [INFO] [stdout] 850 - { [INFO] [stdout] 851 - ParsedNumber::InvalidNumber => false, [INFO] [stdout] 852 - _ => true [INFO] [stdout] 853 - } [INFO] [stdout] 849 + !matches!(*self, ParsedNumber::InvalidNumber) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `println!` args [INFO] [stdout] --> src/vm.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | / println! [INFO] [stdout] 39 | | ( [INFO] [stdout] 40 | | "current program counter {} in bytes 0x{}", [INFO] [stdout] 41 | | self.program_counter, [INFO] [stdout] 42 | | format!("{:X}", self.program_counter * 2) [INFO] [stdout] 43 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `println!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [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/vm.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | / match op_code_result [INFO] [stdout] 123 | | { [INFO] [stdout] 124 | | Err(_) => println!("current op code {:?}", op_code_result), [INFO] [stdout] 125 | | Ok(_) => (), [INFO] [stdout] 126 | | } [INFO] [stdout] | |_________^ help: try: `if let Err(_) = op_code_result { println!("current op code {:?}", op_code_result) }` [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] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | self.step_nb = self.step_nb + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.step_nb += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/vm.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/vm.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if self.stack.len() > 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 243 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:264:17 [INFO] [stdout] | [INFO] [stdout] 264 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:303:13 [INFO] [stdout] | [INFO] [stdout] 303 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:328:17 [INFO] [stdout] | [INFO] [stdout] 328 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:374:17 [INFO] [stdout] | [INFO] [stdout] 374 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:397:17 [INFO] [stdout] | [INFO] [stdout] 397 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | self.program_counter = self.program_counter + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:441:17 [INFO] [stdout] | [INFO] [stdout] 441 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:469:25 [INFO] [stdout] | [INFO] [stdout] 469 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:477:25 [INFO] [stdout] | [INFO] [stdout] 477 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | self.program_counter = self.program_counter + 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/vm.rs:533:12 [INFO] [stdout] | [INFO] [stdout] 533 | if self.stack.len() < 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.stack.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/vm.rs:559:12 [INFO] [stdout] | [INFO] [stdout] 559 | if self.pending_char.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.pending_char.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `ok().expect()` on a `Result` value [INFO] [stdout] --> src/vm.rs:563:13 [INFO] [stdout] | [INFO] [stdout] 563 | / io::stdin() [INFO] [stdout] 564 | | .read_line(&mut line) [INFO] [stdout] 565 | | .ok() [INFO] [stdout] 566 | | .expect("Failed to read line"); [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stdout] = note: `#[warn(clippy::ok_expect)]` on by default [INFO] [stdout] help: call `expect()` directly on the `Result` [INFO] [stdout] | [INFO] [stdout] 564 - .read_line(&mut line) [INFO] [stdout] 565 - .ok() [INFO] [stdout] 566 - .expect("Failed to read line"); [INFO] [stdout] 564 + .read_line(&mut line).expect("Failed to read line"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/vm.rs:588:20 [INFO] [stdout] | [INFO] [stdout] 588 | if self.pending_char.len() >= 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.pending_char.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:592:21 [INFO] [stdout] | [INFO] [stdout] 592 | self.program_counter = self.program_counter + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/vm.rs:606:9 [INFO] [stdout] | [INFO] [stdout] 606 | self.program_counter = self.program_counter + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/vm.rs:627:21 [INFO] [stdout] | [INFO] [stdout] 627 | / match f [INFO] [stdout] 628 | | { [INFO] [stdout] 629 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 636 | | Err(_) => (), [INFO] [stdout] 637 | | } [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] 627 ~ if let Ok(mut file) = f { [INFO] [stdout] 628 + for reg in self.register.iter() [INFO] [stdout] 629 + { [INFO] [stdout] 630 + file.write_all(format!("{}\n", reg).as_bytes()).unwrap(); [INFO] [stdout] 631 + } [INFO] [stdout] 632 + } [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/vm.rs:641:21 [INFO] [stdout] | [INFO] [stdout] 641 | / match f [INFO] [stdout] 642 | | { [INFO] [stdout] 643 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 650 | | Err(_) => (), [INFO] [stdout] 651 | | } [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] 641 ~ if let Ok(mut file) = f { [INFO] [stdout] 642 + for stack_value in self.stack.iter() [INFO] [stdout] 643 + { [INFO] [stdout] 644 + file.write_all(format!("{}\n", stack_value).as_bytes()).unwrap(); [INFO] [stdout] 645 + } [INFO] [stdout] 646 + } [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/vm.rs:655:21 [INFO] [stdout] | [INFO] [stdout] 655 | / match f [INFO] [stdout] 656 | | { [INFO] [stdout] 657 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 661 | | Err(_) => (), [INFO] [stdout] 662 | | } [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] 655 ~ if let Ok(mut file) = f { [INFO] [stdout] 656 + file.write_all(format!("{}\n", self.program_counter).as_bytes()).unwrap(); [INFO] [stdout] 657 + } [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/vm.rs:666:21 [INFO] [stdout] | [INFO] [stdout] 666 | / match f [INFO] [stdout] 667 | | { [INFO] [stdout] 668 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 672 | | Err(_) => (), [INFO] [stdout] 673 | | } [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] 666 ~ if let Ok(mut file) = f { [INFO] [stdout] 667 + file.write_all(format!("{}\n", self.step_nb).as_bytes()).unwrap(); [INFO] [stdout] 668 + } [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/vm.rs:677:21 [INFO] [stdout] | [INFO] [stdout] 677 | / match f [INFO] [stdout] 678 | | { [INFO] [stdout] 679 | | Ok(mut file) => [INFO] [stdout] ... | [INFO] [stdout] 686 | | Err(_) => (), [INFO] [stdout] 687 | | } [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] 677 ~ if let Ok(mut file) = f { [INFO] [stdout] 678 + for mem_value in self.memory.iter() [INFO] [stdout] 679 + { [INFO] [stdout] 680 + file.write_all(format!("{}\n", mem_value).as_bytes()).unwrap(); [INFO] [stdout] 681 + } [INFO] [stdout] 682 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:29:46 [INFO] [stdout] | [INFO] [stdout] 29 | while should_continue && !result.is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `result.is_ok()` [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: called `unwrap_err` on `result` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 38 | if result.is_err() [INFO] [stdout] | ------------------ help: try: `if let Err() = result` [INFO] [stdout] 39 | { [INFO] [stdout] 40 | let err = result.unwrap_err(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `u16_result` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:77:30 [INFO] [stdout] | [INFO] [stdout] 71 | if u16_result.is_err() [INFO] [stdout] | ---------------------- help: try: `if let Ok() = u16_result` [INFO] [stdout] ... [INFO] [stdout] 77 | mem_u16.push(u16_result.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/main.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | if size % 2 != 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `!size.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.67s [INFO] running `Command { std: "docker" "inspect" "3b9cf192c8710c5cb4b4f62173fe822310942dbaf73f4cbe5a67da07f4a01892", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b9cf192c8710c5cb4b4f62173fe822310942dbaf73f4cbe5a67da07f4a01892", kill_on_drop: false }` [INFO] [stdout] 3b9cf192c8710c5cb4b4f62173fe822310942dbaf73f4cbe5a67da07f4a01892