[INFO] updating cached repository codec-abc/synacor-challenge-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/codec-abc/synacor-challenge-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/codec-abc/synacor-challenge-rust" "work/ex/clippy-test-run/sources/stable/gh/codec-abc/synacor-challenge-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/codec-abc/synacor-challenge-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/codec-abc/synacor-challenge-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/codec-abc/synacor-challenge-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/codec-abc/synacor-challenge-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8106355e9b1dc3a97f41e0c79ff83a12e31d792e [INFO] sha for GitHub repo codec-abc/synacor-challenge-rust: 8106355e9b1dc3a97f41e0c79ff83a12e31d792e [INFO] validating manifest of codec-abc/synacor-challenge-rust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of codec-abc/synacor-challenge-rust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing codec-abc/synacor-challenge-rust [INFO] finished frobbing codec-abc/synacor-challenge-rust [INFO] frobbed toml for codec-abc/synacor-challenge-rust written to work/ex/clippy-test-run/sources/stable/gh/codec-abc/synacor-challenge-rust/Cargo.toml [INFO] started frobbing codec-abc/synacor-challenge-rust [INFO] finished frobbing codec-abc/synacor-challenge-rust [INFO] frobbed toml for codec-abc/synacor-challenge-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/codec-abc/synacor-challenge-rust/Cargo.toml [INFO] crate codec-abc/synacor-challenge-rust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting codec-abc/synacor-challenge-rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/codec-abc/synacor-challenge-rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6b4d7d1e469efe8b8a573a7001f97f897e61fa710ee813344f527cf3be9e8d2a [INFO] running `"docker" "start" "-a" "6b4d7d1e469efe8b8a573a7001f97f897e61fa710ee813344f527cf3be9e8d2a"` [INFO] [stderr] Checking synacor_challenge v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:249:27 [INFO] [stderr] | [INFO] [stderr] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `register` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:249:48 [INFO] [stderr] | [INFO] [stderr] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:268:22 [INFO] [stderr] | [INFO] [stderr] 268 | let push = Push {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:287:20 [INFO] [stderr] | [INFO] [stderr] 287 | let pop = Pop {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:325:13 [INFO] [stderr] | [INFO] [stderr] 325 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:385:22 [INFO] [stderr] | [INFO] [stderr] 385 | let jump = Jump {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:410:38 [INFO] [stderr] | [INFO] [stderr] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:410:53 [INFO] [stderr] | [INFO] [stderr] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:435:31 [INFO] [stderr] | [INFO] [stderr] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:435:46 [INFO] [stderr] | [INFO] [stderr] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:472:13 [INFO] [stderr] | [INFO] [stderr] 472 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:513:13 [INFO] [stderr] | [INFO] [stderr] 513 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:514:13 [INFO] [stderr] | [INFO] [stderr] 514 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:555:13 [INFO] [stderr] | [INFO] [stderr] 555 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:597:13 [INFO] [stderr] | [INFO] [stderr] 597 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:598:13 [INFO] [stderr] | [INFO] [stderr] 598 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:639:13 [INFO] [stderr] | [INFO] [stderr] 639 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:640:13 [INFO] [stderr] | [INFO] [stderr] 640 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:674:13 [INFO] [stderr] | [INFO] [stderr] 674 | operand : operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:711:13 [INFO] [stderr] | [INFO] [stderr] 711 | memory_address_to_read : memory_address_to_read [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_read` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:745:13 [INFO] [stderr] | [INFO] [stderr] 745 | value : value, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | memory_address_to_write_to : memory_address_to_write_to [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_write_to` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:766:22 [INFO] [stderr] | [INFO] [stderr] 766 | let call = Call {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:785:20 [INFO] [stderr] | [INFO] [stderr] 785 | let out = Out {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:804:19 [INFO] [stderr] | [INFO] [stderr] 804 | let in_ = In {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/vm.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:249:27 [INFO] [stderr] | [INFO] [stderr] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `register` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:249:48 [INFO] [stderr] | [INFO] [stderr] 249 | let st = SetRegister {register : register, value : value }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:268:22 [INFO] [stderr] | [INFO] [stderr] 268 | let push = Push {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:287:20 [INFO] [stderr] | [INFO] [stderr] 287 | let pop = Pop {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:325:13 [INFO] [stderr] | [INFO] [stderr] 325 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:385:22 [INFO] [stderr] | [INFO] [stderr] 385 | let jump = Jump {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:410:38 [INFO] [stderr] | [INFO] [stderr] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:410:53 [INFO] [stderr] | [INFO] [stderr] 410 | let jump_not_zero = JumpNotZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:435:31 [INFO] [stderr] | [INFO] [stderr] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:435:46 [INFO] [stderr] | [INFO] [stderr] 435 | let jump_zero = JumpZero {value : value, jump_location : jump_location}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jump_location` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:472:13 [INFO] [stderr] | [INFO] [stderr] 472 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:513:13 [INFO] [stderr] | [INFO] [stderr] 513 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:514:13 [INFO] [stderr] | [INFO] [stderr] 514 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:555:13 [INFO] [stderr] | [INFO] [stderr] 555 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:597:13 [INFO] [stderr] | [INFO] [stderr] 597 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:598:13 [INFO] [stderr] | [INFO] [stderr] 598 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:639:13 [INFO] [stderr] | [INFO] [stderr] 639 | first_operand : first_operand, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:640:13 [INFO] [stderr] | [INFO] [stderr] 640 | second_operand : second_operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `second_operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:674:13 [INFO] [stderr] | [INFO] [stderr] 674 | operand : operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:711:13 [INFO] [stderr] | [INFO] [stderr] 711 | memory_address_to_read : memory_address_to_read [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_read` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:745:13 [INFO] [stderr] | [INFO] [stderr] 745 | value : value, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | memory_address_to_write_to : memory_address_to_write_to [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `memory_address_to_write_to` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:766:22 [INFO] [stderr] | [INFO] [stderr] 766 | let call = Call {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:785:20 [INFO] [stderr] | [INFO] [stderr] 785 | let out = Out {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/opcode.rs:804:19 [INFO] [stderr] | [INFO] [stderr] 804 | let in_ = In {value : value}; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/vm.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:231:51 [INFO] [stderr] | [INFO] [stderr] 231 | let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:232:48 [INFO] [stderr] | [INFO] [stderr] 232 | let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:256:48 [INFO] [stderr] | [INFO] [stderr] 256 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:275:48 [INFO] [stderr] | [INFO] [stderr] 275 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:294:47 [INFO] [stderr] | [INFO] [stderr] 294 | let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:295:56 [INFO] [stderr] | [INFO] [stderr] 295 | let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:296:57 [INFO] [stderr] | [INFO] [stderr] 296 | let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:231:51 [INFO] [stderr] | [INFO] [stderr] 231 | let register_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:232:48 [INFO] [stderr] | [INFO] [stderr] 232 | let value_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:256:48 [INFO] [stderr] | [INFO] [stderr] 256 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:275:48 [INFO] [stderr] | [INFO] [stderr] 275 | let value_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:294:47 [INFO] [stderr] | [INFO] [stderr] 294 | let cell_result = read_mem_as_u16_le(mem, (offset + 1)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:295:56 [INFO] [stderr] | [INFO] [stderr] 295 | let first_operand_result = read_mem_as_u16_le(mem, (offset + 2)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/opcode.rs:296:57 [INFO] [stderr] | [INFO] [stderr] 296 | let second_operand_result = read_mem_as_u16_le(mem, (offset + 3)); [INFO] [stderr] | ^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_invalid_number` [INFO] [stderr] --> src/opcode.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | pub fn is_invalid_number(&self) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_invalid_number` [INFO] [stderr] --> src/opcode.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | pub fn is_invalid_number(&self) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | / match op_code_result [INFO] [stderr] 123 | | { [INFO] [stderr] 124 | | Err(_) => println!("current op code {:?}", op_code_result), [INFO] [stderr] 125 | | Ok(_) => (), [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(_) = op_code_result { println!("current op code {:?}", op_code_result) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | self.step_nb = self.step_nb + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.step_nb += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/vm.rs:207:12 [INFO] [stderr] | [INFO] [stderr] 207 | if self.stack.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:215:21 [INFO] [stderr] | [INFO] [stderr] 215 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:243:17 [INFO] [stderr] | [INFO] [stderr] 243 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:314:17 [INFO] [stderr] | [INFO] [stderr] 314 | let b = self.get_literal_value_or_register_value(add.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(add.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:315:17 [INFO] [stderr] | [INFO] [stderr] 315 | let c = self.get_literal_value_or_register_value(add.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(add.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:328:17 [INFO] [stderr] | [INFO] [stderr] 328 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:337:17 [INFO] [stderr] | [INFO] [stderr] 337 | let b = self.get_literal_value_or_register_value(multiply.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(multiply.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | let c = self.get_literal_value_or_register_value(multiply.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(multiply.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:360:17 [INFO] [stderr] | [INFO] [stderr] 360 | let b = self.get_literal_value_or_register_value(modulo.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(modulo.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:361:17 [INFO] [stderr] | [INFO] [stderr] 361 | let c = self.get_literal_value_or_register_value(modulo.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(modulo.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:374:17 [INFO] [stderr] | [INFO] [stderr] 374 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:397:17 [INFO] [stderr] | [INFO] [stderr] 397 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:441:17 [INFO] [stderr] | [INFO] [stderr] 441 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:469:25 [INFO] [stderr] | [INFO] [stderr] 469 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:477:25 [INFO] [stderr] | [INFO] [stderr] 477 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:505:17 [INFO] [stderr] | [INFO] [stderr] 505 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:515:17 [INFO] [stderr] | [INFO] [stderr] 515 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/vm.rs:533:12 [INFO] [stderr] | [INFO] [stderr] 533 | if self.stack.len() < 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:551:9 [INFO] [stderr] | [INFO] [stderr] 551 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/vm.rs:559:12 [INFO] [stderr] | [INFO] [stderr] 559 | if self.pending_char.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.pending_char.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/vm.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / io::stdin() [INFO] [stderr] 564 | | .read_line(&mut line) [INFO] [stderr] 565 | | .ok() [INFO] [stderr] 566 | | .expect("Failed to read line"); [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/vm.rs:588:20 [INFO] [stderr] | [INFO] [stderr] 588 | if self.pending_char.len() >= 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pending_char.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:591:49 [INFO] [stderr] | [INFO] [stderr] 591 | self.register[r as usize] = byte as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:592:21 [INFO] [stderr] | [INFO] [stderr] 592 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | self.program_counter = self.program_counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:627:21 [INFO] [stderr] | [INFO] [stderr] 627 | / match f [INFO] [stderr] 628 | | { [INFO] [stderr] 629 | | Ok(mut file) => [INFO] [stderr] 630 | | { [INFO] [stderr] ... | [INFO] [stderr] 636 | | Err(_) => (), [INFO] [stderr] 637 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 627 | if let Ok(mut file) = f { [INFO] [stderr] 628 | for reg in self.register.iter() [INFO] [stderr] 629 | { [INFO] [stderr] 630 | file.write_all(format!("{}\n", reg).as_bytes()).unwrap(); [INFO] [stderr] 631 | } [INFO] [stderr] 632 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:641:21 [INFO] [stderr] | [INFO] [stderr] 641 | / match f [INFO] [stderr] 642 | | { [INFO] [stderr] 643 | | Ok(mut file) => [INFO] [stderr] 644 | | { [INFO] [stderr] ... | [INFO] [stderr] 650 | | Err(_) => (), [INFO] [stderr] 651 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 641 | if let Ok(mut file) = f { [INFO] [stderr] 642 | for stack_value in self.stack.iter() [INFO] [stderr] 643 | { [INFO] [stderr] 644 | file.write_all(format!("{}\n", stack_value).as_bytes()).unwrap(); [INFO] [stderr] 645 | } [INFO] [stderr] 646 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:655:21 [INFO] [stderr] | [INFO] [stderr] 655 | / match f [INFO] [stderr] 656 | | { [INFO] [stderr] 657 | | Ok(mut file) => [INFO] [stderr] 658 | | { [INFO] [stderr] ... | [INFO] [stderr] 661 | | Err(_) => (), [INFO] [stderr] 662 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 655 | if let Ok(mut file) = f { [INFO] [stderr] 656 | file.write_all(format!("{}\n", self.program_counter).as_bytes()).unwrap(); [INFO] [stderr] 657 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:666:21 [INFO] [stderr] | [INFO] [stderr] 666 | / match f [INFO] [stderr] 667 | | { [INFO] [stderr] 668 | | Ok(mut file) => [INFO] [stderr] 669 | | { [INFO] [stderr] ... | [INFO] [stderr] 672 | | Err(_) => (), [INFO] [stderr] 673 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 666 | if let Ok(mut file) = f { [INFO] [stderr] 667 | file.write_all(format!("{}\n", self.step_nb).as_bytes()).unwrap(); [INFO] [stderr] 668 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:677:21 [INFO] [stderr] | [INFO] [stderr] 677 | / match f [INFO] [stderr] 678 | | { [INFO] [stderr] 679 | | Ok(mut file) => [INFO] [stderr] 680 | | { [INFO] [stderr] ... | [INFO] [stderr] 686 | | Err(_) => (), [INFO] [stderr] 687 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 677 | if let Ok(mut file) = f { [INFO] [stderr] 678 | for mem_value in self.memory.iter() [INFO] [stderr] 679 | { [INFO] [stderr] 680 | file.write_all(format!("{}\n", mem_value).as_bytes()).unwrap(); [INFO] [stderr] 681 | } [INFO] [stderr] 682 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/main.rs:29:27 [INFO] [stderr] | [INFO] [stderr] 29 | while should_continue && !result.is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `should_continue && result.is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | / match op_code_result [INFO] [stderr] 123 | | { [INFO] [stderr] 124 | | Err(_) => println!("current op code {:?}", op_code_result), [INFO] [stderr] 125 | | Ok(_) => (), [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(_) = op_code_result { println!("current op code {:?}", op_code_result) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | self.step_nb = self.step_nb + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.step_nb += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/vm.rs:207:12 [INFO] [stderr] | [INFO] [stderr] 207 | if self.stack.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:215:21 [INFO] [stderr] | [INFO] [stderr] 215 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | fn convert_to_u16_le(mem : &Vec) -> [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:243:17 [INFO] [stderr] | [INFO] [stderr] 243 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:314:17 [INFO] [stderr] | [INFO] [stderr] 314 | let b = self.get_literal_value_or_register_value(add.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(add.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:315:17 [INFO] [stderr] | [INFO] [stderr] 315 | let c = self.get_literal_value_or_register_value(add.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(add.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:328:17 [INFO] [stderr] | [INFO] [stderr] 328 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:337:17 [INFO] [stderr] | [INFO] [stderr] 337 | let b = self.get_literal_value_or_register_value(multiply.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(multiply.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | let c = self.get_literal_value_or_register_value(multiply.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(multiply.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:360:17 [INFO] [stderr] | [INFO] [stderr] 360 | let b = self.get_literal_value_or_register_value(modulo.first_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(modulo.first_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:361:17 [INFO] [stderr] | [INFO] [stderr] 361 | let c = self.get_literal_value_or_register_value(modulo.second_operand)? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.get_literal_value_or_register_value(modulo.second_operand)?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:374:17 [INFO] [stderr] | [INFO] [stderr] 374 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:397:17 [INFO] [stderr] | [INFO] [stderr] 397 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | self.program_counter = self.program_counter + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:441:17 [INFO] [stderr] | [INFO] [stderr] 441 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:469:25 [INFO] [stderr] | [INFO] [stderr] 469 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:477:25 [INFO] [stderr] | [INFO] [stderr] 477 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:505:17 [INFO] [stderr] | [INFO] [stderr] 505 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:515:17 [INFO] [stderr] | [INFO] [stderr] 515 | self.program_counter = self.program_counter + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/vm.rs:533:12 [INFO] [stderr] | [INFO] [stderr] 533 | if self.stack.len() < 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:551:9 [INFO] [stderr] | [INFO] [stderr] 551 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/vm.rs:559:12 [INFO] [stderr] | [INFO] [stderr] 559 | if self.pending_char.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.pending_char.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/vm.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / io::stdin() [INFO] [stderr] 564 | | .read_line(&mut line) [INFO] [stderr] 565 | | .ok() [INFO] [stderr] 566 | | .expect("Failed to read line"); [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/vm.rs:588:20 [INFO] [stderr] | [INFO] [stderr] 588 | if self.pending_char.len() >= 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pending_char.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/vm.rs:591:49 [INFO] [stderr] | [INFO] [stderr] 591 | self.register[r as usize] = byte as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:592:21 [INFO] [stderr] | [INFO] [stderr] 592 | self.program_counter = self.program_counter + 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vm.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | self.program_counter = self.program_counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.program_counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:627:21 [INFO] [stderr] | [INFO] [stderr] 627 | / match f [INFO] [stderr] 628 | | { [INFO] [stderr] 629 | | Ok(mut file) => [INFO] [stderr] 630 | | { [INFO] [stderr] ... | [INFO] [stderr] 636 | | Err(_) => (), [INFO] [stderr] 637 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 627 | if let Ok(mut file) = f { [INFO] [stderr] 628 | for reg in self.register.iter() [INFO] [stderr] 629 | { [INFO] [stderr] 630 | file.write_all(format!("{}\n", reg).as_bytes()).unwrap(); [INFO] [stderr] 631 | } [INFO] [stderr] 632 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:641:21 [INFO] [stderr] | [INFO] [stderr] 641 | / match f [INFO] [stderr] 642 | | { [INFO] [stderr] 643 | | Ok(mut file) => [INFO] [stderr] 644 | | { [INFO] [stderr] ... | [INFO] [stderr] 650 | | Err(_) => (), [INFO] [stderr] 651 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 641 | if let Ok(mut file) = f { [INFO] [stderr] 642 | for stack_value in self.stack.iter() [INFO] [stderr] 643 | { [INFO] [stderr] 644 | file.write_all(format!("{}\n", stack_value).as_bytes()).unwrap(); [INFO] [stderr] 645 | } [INFO] [stderr] 646 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:655:21 [INFO] [stderr] | [INFO] [stderr] 655 | / match f [INFO] [stderr] 656 | | { [INFO] [stderr] 657 | | Ok(mut file) => [INFO] [stderr] 658 | | { [INFO] [stderr] ... | [INFO] [stderr] 661 | | Err(_) => (), [INFO] [stderr] 662 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 655 | if let Ok(mut file) = f { [INFO] [stderr] 656 | file.write_all(format!("{}\n", self.program_counter).as_bytes()).unwrap(); [INFO] [stderr] 657 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:666:21 [INFO] [stderr] | [INFO] [stderr] 666 | / match f [INFO] [stderr] 667 | | { [INFO] [stderr] 668 | | Ok(mut file) => [INFO] [stderr] 669 | | { [INFO] [stderr] ... | [INFO] [stderr] 672 | | Err(_) => (), [INFO] [stderr] 673 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 666 | if let Ok(mut file) = f { [INFO] [stderr] 667 | file.write_all(format!("{}\n", self.step_nb).as_bytes()).unwrap(); [INFO] [stderr] 668 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm.rs:677:21 [INFO] [stderr] | [INFO] [stderr] 677 | / match f [INFO] [stderr] 678 | | { [INFO] [stderr] 679 | | Ok(mut file) => [INFO] [stderr] 680 | | { [INFO] [stderr] ... | [INFO] [stderr] 686 | | Err(_) => (), [INFO] [stderr] 687 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 677 | if let Ok(mut file) = f { [INFO] [stderr] 678 | for mem_value in self.memory.iter() [INFO] [stderr] 679 | { [INFO] [stderr] 680 | file.write_all(format!("{}\n", mem_value).as_bytes()).unwrap(); [INFO] [stderr] 681 | } [INFO] [stderr] 682 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/main.rs:29:27 [INFO] [stderr] | [INFO] [stderr] 29 | while should_continue && !result.is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `should_continue && result.is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | fn convert_to_u16_le(mem : &Vec) -> [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.60s [INFO] running `"docker" "inspect" "6b4d7d1e469efe8b8a573a7001f97f897e61fa710ee813344f527cf3be9e8d2a"` [INFO] running `"docker" "rm" "-f" "6b4d7d1e469efe8b8a573a7001f97f897e61fa710ee813344f527cf3be9e8d2a"` [INFO] [stdout] 6b4d7d1e469efe8b8a573a7001f97f897e61fa710ee813344f527cf3be9e8d2a