[INFO] updating cached repository pfernie/synacor-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/pfernie/synacor-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/pfernie/synacor-rs" "work/ex/clippy-test-run/sources/stable/gh/pfernie/synacor-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/pfernie/synacor-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/pfernie/synacor-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pfernie/synacor-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pfernie/synacor-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5c2677d8145793b1085adcae0aa1b1cb73bef1dc [INFO] sha for GitHub repo pfernie/synacor-rs: 5c2677d8145793b1085adcae0aa1b1cb73bef1dc [INFO] validating manifest of pfernie/synacor-rs 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 pfernie/synacor-rs 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 pfernie/synacor-rs [INFO] finished frobbing pfernie/synacor-rs [INFO] frobbed toml for pfernie/synacor-rs written to work/ex/clippy-test-run/sources/stable/gh/pfernie/synacor-rs/Cargo.toml [INFO] started frobbing pfernie/synacor-rs [INFO] finished frobbing pfernie/synacor-rs [INFO] frobbed toml for pfernie/synacor-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pfernie/synacor-rs/Cargo.toml [INFO] crate pfernie/synacor-rs 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 pfernie/synacor-rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/pfernie/synacor-rs:/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] 8255ef83b775d8f7026e75ee80ad3042581189443c8b01e13801117b0f11ebde [INFO] running `"docker" "start" "-a" "8255ef83b775d8f7026e75ee80ad3042581189443c8b01e13801117b0f11ebde"` [INFO] [stderr] Compiling gcc v0.3.41 [INFO] [stderr] Checking rustc-demangle v0.1.3 [INFO] [stderr] Checking unicode-segmentation v1.0.1 [INFO] [stderr] Checking try_from v0.2.1 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking thread-id v3.0.0 [INFO] [stderr] Checking thread_local v0.3.2 [INFO] [stderr] Checking aho-corasick v0.6.1 [INFO] [stderr] Checking clap v2.20.0 [INFO] [stderr] Compiling backtrace-sys v0.1.5 [INFO] [stderr] Checking regex v0.2.1 [INFO] [stderr] Checking backtrace v0.3.0 [INFO] [stderr] Checking error-chain v0.7.2 [INFO] [stderr] Checking env_logger v0.4.0 [INFO] [stderr] Checking synacor v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bin/maze.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/bin/maze.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/bin/maze.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | orb: orb, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `orb` [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/bin/maze.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | op: op, [INFO] [stderr] | ^^^^^^ help: replace it with: `op` [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/bin/maze.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/bin/maze.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/bin/maze.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | orb: orb, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `orb` [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/bin/maze.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | op: op, [INFO] [stderr] | ^^^^^^ help: replace it with: `op` [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/debugger/mod.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/debugger/mod.rs:94:21 [INFO] [stderr] | [INFO] [stderr] 94 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/debugger/mod.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/debugger/mod.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/debugger/mod.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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 `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/debugger/mod.rs:350:17 [INFO] [stderr] | [INFO] [stderr] 350 | / print!("r{}: 0x{:04x} {} {:?}\n", [INFO] [stderr] 351 | | i, [INFO] [stderr] 352 | | r, [INFO] [stderr] 353 | | r, [INFO] [stderr] 354 | | memory::Value::try_from(r)); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/debugger/mod.rs:360:17 [INFO] [stderr] | [INFO] [stderr] 360 | / print!("r{}: 0x{:04x} {} {:?}\n", [INFO] [stderr] 361 | | i, [INFO] [stderr] 362 | | r, [INFO] [stderr] 363 | | r, [INFO] [stderr] 364 | | memory::Value::try_from(r)); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/machine.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | memory: memory, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `memory` [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/machine.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | registers: registers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `registers` [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/machine.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | stack: stack, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stack` [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/machine.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | memory: memory, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `memory` [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/memory.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | max_used_addr: max_used_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_used_addr` [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/op_code.rs:159:38 [INFO] [stderr] | [INFO] [stderr] 159 | DecodedOpCode::Out { c: c } [INFO] [stderr] | ^^^^ help: replace it with: `c` [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/op_code.rs:164:38 [INFO] [stderr] | [INFO] [stderr] 164 | DecodedOpCode::Jmp { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | cond: cond, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cond` [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/op_code.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:178:21 [INFO] [stderr] | [INFO] [stderr] 178 | cond: cond, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cond` [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/op_code.rs:179:21 [INFO] [stderr] | [INFO] [stderr] 179 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:186:21 [INFO] [stderr] | [INFO] [stderr] 186 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:193:21 [INFO] [stderr] | [INFO] [stderr] 193 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:194:21 [INFO] [stderr] | [INFO] [stderr] 194 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:203:21 [INFO] [stderr] | [INFO] [stderr] 203 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:204:21 [INFO] [stderr] | [INFO] [stderr] 204 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:211:21 [INFO] [stderr] | [INFO] [stderr] 211 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:212:21 [INFO] [stderr] | [INFO] [stderr] 212 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:220:21 [INFO] [stderr] | [INFO] [stderr] 220 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:221:21 [INFO] [stderr] | [INFO] [stderr] 221 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:222:21 [INFO] [stderr] | [INFO] [stderr] 222 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:227:39 [INFO] [stderr] | [INFO] [stderr] 227 | DecodedOpCode::Push { val: val } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:229:57 [INFO] [stderr] | [INFO] [stderr] 229 | OpCode::Pop { reg } => DecodedOpCode::Pop { reg: reg }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:234:21 [INFO] [stderr] | [INFO] [stderr] 234 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:235:21 [INFO] [stderr] | [INFO] [stderr] 235 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:236:21 [INFO] [stderr] | [INFO] [stderr] 236 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:244:21 [INFO] [stderr] | [INFO] [stderr] 244 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:245:21 [INFO] [stderr] | [INFO] [stderr] 245 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:253:21 [INFO] [stderr] | [INFO] [stderr] 253 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:254:21 [INFO] [stderr] | [INFO] [stderr] 254 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:260:21 [INFO] [stderr] | [INFO] [stderr] 260 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:261:21 [INFO] [stderr] | [INFO] [stderr] 261 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:266:39 [INFO] [stderr] | [INFO] [stderr] 266 | DecodedOpCode::Call { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:271:21 [INFO] [stderr] | [INFO] [stderr] 271 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:272:21 [INFO] [stderr] | [INFO] [stderr] 272 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:279:21 [INFO] [stderr] | [INFO] [stderr] 279 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:280:21 [INFO] [stderr] | [INFO] [stderr] 280 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:285:38 [INFO] [stderr] | [INFO] [stderr] 285 | DecodedOpCode::Ret { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:287:55 [INFO] [stderr] | [INFO] [stderr] 287 | OpCode::In { reg } => DecodedOpCode::In { reg: reg }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/debugger/mod.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/debugger/mod.rs:94:21 [INFO] [stderr] | [INFO] [stderr] 94 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/debugger/mod.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/debugger/mod.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/debugger/mod.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | breakpoints: breakpoints, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `breakpoints` [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/debugger/mod.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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 `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/debugger/mod.rs:350:17 [INFO] [stderr] | [INFO] [stderr] 350 | / print!("r{}: 0x{:04x} {} {:?}\n", [INFO] [stderr] 351 | | i, [INFO] [stderr] 352 | | r, [INFO] [stderr] 353 | | r, [INFO] [stderr] 354 | | memory::Value::try_from(r)); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/debugger/mod.rs:360:17 [INFO] [stderr] | [INFO] [stderr] 360 | / print!("r{}: 0x{:04x} {} {:?}\n", [INFO] [stderr] 361 | | i, [INFO] [stderr] 362 | | r, [INFO] [stderr] 363 | | r, [INFO] [stderr] 364 | | memory::Value::try_from(r)); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/machine.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | memory: memory, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `memory` [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/machine.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | registers: registers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `registers` [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/machine.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | stack: stack, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stack` [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/machine.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | memory: memory, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `memory` [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/memory.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | max_used_addr: max_used_addr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_used_addr` [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/op_code.rs:159:38 [INFO] [stderr] | [INFO] [stderr] 159 | DecodedOpCode::Out { c: c } [INFO] [stderr] | ^^^^ help: replace it with: `c` [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/op_code.rs:164:38 [INFO] [stderr] | [INFO] [stderr] 164 | DecodedOpCode::Jmp { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | cond: cond, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cond` [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/op_code.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:178:21 [INFO] [stderr] | [INFO] [stderr] 178 | cond: cond, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cond` [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/op_code.rs:179:21 [INFO] [stderr] | [INFO] [stderr] 179 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:186:21 [INFO] [stderr] | [INFO] [stderr] 186 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:193:21 [INFO] [stderr] | [INFO] [stderr] 193 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:194:21 [INFO] [stderr] | [INFO] [stderr] 194 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:203:21 [INFO] [stderr] | [INFO] [stderr] 203 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:204:21 [INFO] [stderr] | [INFO] [stderr] 204 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:211:21 [INFO] [stderr] | [INFO] [stderr] 211 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:212:21 [INFO] [stderr] | [INFO] [stderr] 212 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:220:21 [INFO] [stderr] | [INFO] [stderr] 220 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:221:21 [INFO] [stderr] | [INFO] [stderr] 221 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:222:21 [INFO] [stderr] | [INFO] [stderr] 222 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:227:39 [INFO] [stderr] | [INFO] [stderr] 227 | DecodedOpCode::Push { val: val } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:229:57 [INFO] [stderr] | [INFO] [stderr] 229 | OpCode::Pop { reg } => DecodedOpCode::Pop { reg: reg }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:234:21 [INFO] [stderr] | [INFO] [stderr] 234 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:235:21 [INFO] [stderr] | [INFO] [stderr] 235 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:236:21 [INFO] [stderr] | [INFO] [stderr] 236 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:244:21 [INFO] [stderr] | [INFO] [stderr] 244 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:245:21 [INFO] [stderr] | [INFO] [stderr] 245 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:253:21 [INFO] [stderr] | [INFO] [stderr] 253 | val1: val1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val1` [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/op_code.rs:254:21 [INFO] [stderr] | [INFO] [stderr] 254 | val2: val2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `val2` [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/op_code.rs:260:21 [INFO] [stderr] | [INFO] [stderr] 260 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:261:21 [INFO] [stderr] | [INFO] [stderr] 261 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:266:39 [INFO] [stderr] | [INFO] [stderr] 266 | DecodedOpCode::Call { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:271:21 [INFO] [stderr] | [INFO] [stderr] 271 | reg: reg, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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/op_code.rs:272:21 [INFO] [stderr] | [INFO] [stderr] 272 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:279:21 [INFO] [stderr] | [INFO] [stderr] 279 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:280:21 [INFO] [stderr] | [INFO] [stderr] 280 | val: val, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/op_code.rs:285:38 [INFO] [stderr] | [INFO] [stderr] 285 | DecodedOpCode::Ret { addr: addr } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/op_code.rs:287:55 [INFO] [stderr] | [INFO] [stderr] 287 | OpCode::In { reg } => DecodedOpCode::In { reg: reg }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `reg` [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: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | let v = self.0 as u64 + rhs as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(self.0)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | let v = self.0 as u64 + rhs as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(rhs)` [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/bin/maze.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | if v > u16::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u16::max_value())` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if rhs as u16 >= self.0 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(rhs)` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:23:31 [INFO] [stderr] | [INFO] [stderr] 23 | Some(Orb(self.0 - rhs as u16)) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(rhs)` [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/bin/maze.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let v = self.0 as u64 * rhs as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(self.0)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:30:33 [INFO] [stderr] | [INFO] [stderr] 30 | let v = self.0 as u64 * rhs as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(rhs)` [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/bin/maze.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | if v > u16::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u16::max_value())` [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/bin/maze.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | let v = self.0 as u64 + rhs as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(self.0)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | let v = self.0 as u64 + rhs as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(rhs)` [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/bin/maze.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | if v > u16::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u16::max_value())` [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if rhs as u16 >= self.0 { [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(rhs)` [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/maze.rs:62:27 [INFO] [stderr] | [INFO] [stderr] 62 | fn is_valid(&self, m: &Move) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Move` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/maze.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn apply_move(&self, m: &Move) -> State { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Move` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bin/maze.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let (x, y) = match m { [INFO] [stderr] | ______________________^ [INFO] [stderr] 76 | | &Move::East => (self.x + 1, self.y), [INFO] [stderr] 77 | | &Move::West => (self.x - 1, self.y), [INFO] [stderr] 78 | | &Move::North => (self.x, self.y - 1), [INFO] [stderr] 79 | | &Move::South => (self.x, self.y + 1), [INFO] [stderr] 80 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 75 | let (x, y) = match *m { [INFO] [stderr] 76 | Move::East => (self.x + 1, self.y), [INFO] [stderr] 77 | Move::West => (self.x - 1, self.y), [INFO] [stderr] 78 | Move::North => (self.x, self.y - 1), [INFO] [stderr] 79 | Move::South => (self.x, self.y + 1), [INFO] [stderr] | [INFO] [stderr] [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:23:31 [INFO] [stderr] | [INFO] [stderr] 23 | Some(Orb(self.0 - rhs as u16)) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(rhs)` [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/bin/maze.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let v = self.0 as u64 * rhs as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(self.0)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bin/maze.rs:30:33 [INFO] [stderr] | [INFO] [stderr] 30 | let v = self.0 as u64 * rhs as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(rhs)` [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/bin/maze.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | if v > u16::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u16::max_value())` [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: this boolean expression can be simplified [INFO] [stderr] --> src/bin/maze.rs:105:31 [INFO] [stderr] | [INFO] [stderr] 105 | .filter(|&(_, s)| s.orb.is_some() && !(s.at_goal() && !s.at_value())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(!s.at_goal() || s.at_value()) && s.orb.is_some()` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/maze.rs:62:27 [INFO] [stderr] | [INFO] [stderr] 62 | fn is_valid(&self, m: &Move) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Move` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/maze.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn apply_move(&self, m: &Move) -> State { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Move` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bin/maze.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let (x, y) = match m { [INFO] [stderr] | ______________________^ [INFO] [stderr] 76 | | &Move::East => (self.x + 1, self.y), [INFO] [stderr] 77 | | &Move::West => (self.x - 1, self.y), [INFO] [stderr] 78 | | &Move::North => (self.x, self.y - 1), [INFO] [stderr] 79 | | &Move::South => (self.x, self.y + 1), [INFO] [stderr] 80 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 75 | let (x, y) = match *m { [INFO] [stderr] 76 | Move::East => (self.x + 1, self.y), [INFO] [stderr] 77 | Move::West => (self.x - 1, self.y), [INFO] [stderr] 78 | Move::North => (self.x, self.y - 1), [INFO] [stderr] 79 | Move::South => (self.x, self.y + 1), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/bin/maze.rs:105:31 [INFO] [stderr] | [INFO] [stderr] 105 | .filter(|&(_, s)| s.orb.is_some() && !(s.at_goal() && !s.at_value())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(!s.at_goal() || s.at_value()) && s.orb.is_some()` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/maze.rs:150:28 [INFO] [stderr] | [INFO] [stderr] 150 | let mut path = shortest_path.get(&s).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&shortest_path[&s]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/bin/maze.rs:150:28 [INFO] [stderr] | [INFO] [stderr] 150 | let mut path = shortest_path.get(&s).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&shortest_path[&s]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/bin/foo.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let t = thread::Builder::new().stack_size(1024 * 1024 * 32).spawn(move || { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let t =` [INFO] [stderr] --> src/bin/foo.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / let t = thread::Builder::new().stack_size(1024 * 1024 * 32).spawn(move || { [INFO] [stderr] 47 | | for r7 in 0..u16::max_value() { [INFO] [stderr] 48 | | do_foo(r7); [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | do_foo(u16::max_value()); [INFO] [stderr] 51 | | println!("done"); [INFO] [stderr] 52 | | }).unwrap().join().unwrap(); [INFO] [stderr] | |________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/bin/foo.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let t = thread::Builder::new().stack_size(1024 * 1024 * 32).spawn(move || { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let t =` [INFO] [stderr] --> src/bin/foo.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / let t = thread::Builder::new().stack_size(1024 * 1024 * 32).spawn(move || { [INFO] [stderr] 47 | | for r7 in 0..u16::max_value() { [INFO] [stderr] 48 | | do_foo(r7); [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | do_foo(u16::max_value()); [INFO] [stderr] 51 | | println!("done"); [INFO] [stderr] 52 | | }).unwrap().join().unwrap(); [INFO] [stderr] | |________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/machine.rs:151:54 [INFO] [stderr] | [INFO] [stderr] 151 | self.registers.write_u16(reg, !val & 0b111111111111111); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0b111_1111_1111_1111` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/debugger/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/machine.rs:151:54 [INFO] [stderr] | [INFO] [stderr] 151 | self.registers.write_u16(reg, !val & 0b111111111111111); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `0b111_1111_1111_1111` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/debugger/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/debugger/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/debugger/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debugger/breakpoint.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn is_triggered(&self, ip: &Addr, op_code: &OpCode, decoded_op: &DecodedOpCode) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &mut VmState::Running(ref mut r) => r, [INFO] [stderr] 28 | | &mut VmState::Stalled(ref mut s) => s, [INFO] [stderr] 29 | | &mut VmState::Halted(ref mut h) => h, [INFO] [stderr] 30 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self { [INFO] [stderr] 27 | VmState::Running(ref mut r) => r, [INFO] [stderr] 28 | VmState::Stalled(ref mut s) => s, [INFO] [stderr] 29 | VmState::Halted(ref mut h) => h, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / match self { [INFO] [stderr] 37 | | &VmState::Running(ref r) => r, [INFO] [stderr] 38 | | &VmState::Stalled(ref s) => s, [INFO] [stderr] 39 | | &VmState::Halted(ref h) => h, [INFO] [stderr] 40 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 36 | match *self { [INFO] [stderr] 37 | VmState::Running(ref r) => r, [INFO] [stderr] 38 | VmState::Stalled(ref s) => s, [INFO] [stderr] 39 | VmState::Halted(ref h) => h, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | Ok(match &mut self.state { [INFO] [stderr] | ____________^ [INFO] [stderr] 125 | | &mut VmState::Running(ref mut m) => { [INFO] [stderr] 126 | | let (op, decoded_op) = m.peek_instr()?; [INFO] [stderr] 127 | | if let Some(ip) = m.ip() { [INFO] [stderr] ... | [INFO] [stderr] 137 | | &mut VmState::Halted(_) => Some(breakpoint::Reason::Halted), [INFO] [stderr] 138 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 124 | Ok(match *(&mut self.state) { [INFO] [stderr] 125 | VmState::Running(ref mut m) => { [INFO] [stderr] 126 | let (op, decoded_op) = m.peek_instr()?; [INFO] [stderr] 127 | if let Some(ip) = m.ip() { [INFO] [stderr] 128 | self.breakpoints [INFO] [stderr] 129 | .iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/debugger/mod.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | let mem: Vec = memory::AddrRange::try_from("..") [INFO] [stderr] | ____________________________^ [INFO] [stderr] 154 | | .map(|r| mem.get_range(&r))? [INFO] [stderr] 155 | | .iter() [INFO] [stderr] 156 | | .map(|v| *v) [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 153 | let mem: Vec = memory::AddrRange::try_from("..") [INFO] [stderr] 154 | .map(|r| mem.get_range(&r))? [INFO] [stderr] 155 | .iter().cloned() [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/debugger/mod.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | / match op { [INFO] [stderr] 162 | | op_code::OpCode::Out { c } => { [INFO] [stderr] 163 | | let c = regs.read(c) as u8 as char; [INFO] [stderr] 164 | | if '\n' == c { [INFO] [stderr] ... | [INFO] [stderr] 171 | | _ => {} [INFO] [stderr] 172 | | } [INFO] [stderr] | |_____________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 161 | if let op_code::OpCode::Out { c } = op { [INFO] [stderr] 162 | let c = regs.read(c) as u8 as char; [INFO] [stderr] 163 | if '\n' == c { [INFO] [stderr] 164 | println!("{}", cur_string); [INFO] [stderr] 165 | cur_string.clear(); [INFO] [stderr] 166 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/debugger/mod.rs:260:16 [INFO] [stderr] | [INFO] [stderr] 260 | Ok(format!("MACHINE HALTED")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"MACHINE HALTED".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in regs.enumerate()` or similar iterators [INFO] [stderr] --> src/debugger/mod.rs:349:22 [INFO] [stderr] | [INFO] [stderr] 349 | for r in regs { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/debugger/mod.rs:371:1 [INFO] [stderr] | [INFO] [stderr] 371 | / pub fn debug>(rom_path: P) -> Result<()> { [INFO] [stderr] 372 | | let mut input = String::new(); [INFO] [stderr] 373 | | let mut debugger = Debugger { [INFO] [stderr] 374 | | state: VmState::Running(Machine::new(rom_path)?), [INFO] [stderr] ... | [INFO] [stderr] 560 | | Ok(()) [INFO] [stderr] 561 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/debugger/mod.rs:432:51 [INFO] [stderr] | [INFO] [stderr] 432 | } else if loc.starts_with("r") { [INFO] [stderr] | ^^^ help: try using a char instead: `'r'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debugger/breakpoint.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn is_triggered(&self, ip: &Addr, op_code: &OpCode, decoded_op: &DecodedOpCode) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &mut VmState::Running(ref mut r) => r, [INFO] [stderr] 28 | | &mut VmState::Stalled(ref mut s) => s, [INFO] [stderr] 29 | | &mut VmState::Halted(ref mut h) => h, [INFO] [stderr] 30 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self { [INFO] [stderr] 27 | VmState::Running(ref mut r) => r, [INFO] [stderr] 28 | VmState::Stalled(ref mut s) => s, [INFO] [stderr] 29 | VmState::Halted(ref mut h) => h, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / match self { [INFO] [stderr] 37 | | &VmState::Running(ref r) => r, [INFO] [stderr] 38 | | &VmState::Stalled(ref s) => s, [INFO] [stderr] 39 | | &VmState::Halted(ref h) => h, [INFO] [stderr] 40 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 36 | match *self { [INFO] [stderr] 37 | VmState::Running(ref r) => r, [INFO] [stderr] 38 | VmState::Stalled(ref s) => s, [INFO] [stderr] 39 | VmState::Halted(ref h) => h, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/debugger/mod.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | Ok(match &mut self.state { [INFO] [stderr] | ____________^ [INFO] [stderr] 125 | | &mut VmState::Running(ref mut m) => { [INFO] [stderr] 126 | | let (op, decoded_op) = m.peek_instr()?; [INFO] [stderr] 127 | | if let Some(ip) = m.ip() { [INFO] [stderr] ... | [INFO] [stderr] 137 | | &mut VmState::Halted(_) => Some(breakpoint::Reason::Halted), [INFO] [stderr] 138 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 124 | Ok(match *(&mut self.state) { [INFO] [stderr] 125 | VmState::Running(ref mut m) => { [INFO] [stderr] 126 | let (op, decoded_op) = m.peek_instr()?; [INFO] [stderr] 127 | if let Some(ip) = m.ip() { [INFO] [stderr] 128 | self.breakpoints [INFO] [stderr] 129 | .iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/debugger/mod.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | let mem: Vec = memory::AddrRange::try_from("..") [INFO] [stderr] | ____________________________^ [INFO] [stderr] 154 | | .map(|r| mem.get_range(&r))? [INFO] [stderr] 155 | | .iter() [INFO] [stderr] 156 | | .map(|v| *v) [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 153 | let mem: Vec = memory::AddrRange::try_from("..") [INFO] [stderr] 154 | .map(|r| mem.get_range(&r))? [INFO] [stderr] 155 | .iter().cloned() [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/debugger/mod.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | / match op { [INFO] [stderr] 162 | | op_code::OpCode::Out { c } => { [INFO] [stderr] 163 | | let c = regs.read(c) as u8 as char; [INFO] [stderr] 164 | | if '\n' == c { [INFO] [stderr] ... | [INFO] [stderr] 171 | | _ => {} [INFO] [stderr] 172 | | } [INFO] [stderr] | |_____________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 161 | if let op_code::OpCode::Out { c } = op { [INFO] [stderr] 162 | let c = regs.read(c) as u8 as char; [INFO] [stderr] 163 | if '\n' == c { [INFO] [stderr] 164 | println!("{}", cur_string); [INFO] [stderr] 165 | cur_string.clear(); [INFO] [stderr] 166 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/machine.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 38 | let mut mem = Vec::with_capacity(mem_bytes); [INFO] [stderr] | ----------------------------- help: consider replace allocation with: `vec![0; mem_bytes]` [INFO] [stderr] 39 | mem.resize(mem_bytes, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/machine.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | memory.set_ip(ip.into()); [INFO] [stderr] | ^^^^^^^^^ help: consider removing `.into()`: `ip` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `r`. [INFO] [stderr] --> src/machine.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 49 | for in &mut r { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/machine.rs:97:47 [INFO] [stderr] | [INFO] [stderr] 97 | match op_code.decode(&self.registers, self.stack.last().map(|h| *h))? { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.stack.last().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:123:49 [INFO] [stderr] | [INFO] [stderr] 123 | self.registers.write_u16(reg, (((val1 as u64) * (val2 as u64)) % 32768) as _); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(val1)` [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/machine.rs:123:65 [INFO] [stderr] | [INFO] [stderr] 123 | self.registers.write_u16(reg, (((val1 as u64) * (val2 as u64)) % 32768) as _); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(val2)` [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: length comparison to zero [INFO] [stderr] --> src/machine.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | if 0 == self.input_buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.input_buffer.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: useless use of `format!` [INFO] [stderr] --> src/debugger/mod.rs:260:16 [INFO] [stderr] | [INFO] [stderr] 260 | Ok(format!("MACHINE HALTED")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"MACHINE HALTED".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/machine.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | Ok(self.registers.write_val(reg, v)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 185 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/machine.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 214 | let mut buf = Vec::with_capacity(tot_bytes); [INFO] [stderr] | ----------------------------- help: consider replace allocation with: `vec![0; tot_bytes]` [INFO] [stderr] 215 | buf.resize(tot_bytes, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/machine.rs:251:55 [INFO] [stderr] | [INFO] [stderr] 251 | let decoded = op_code.decode(&self.registers, self.stack.last().map(|h| *h))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.stack.last().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in regs.enumerate()` or similar iterators [INFO] [stderr] --> src/debugger/mod.rs:349:22 [INFO] [stderr] | [INFO] [stderr] 349 | for r in regs { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/memory.rs:47:28 [INFO] [stderr] | [INFO] [stderr] 47 | if loc.starts_with("r") { [INFO] [stderr] | ^^^ help: try using a char instead: `'r'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/debugger/mod.rs:371:1 [INFO] [stderr] | [INFO] [stderr] 371 | / pub fn debug>(rom_path: P) -> Result<()> { [INFO] [stderr] 372 | | let mut input = String::new(); [INFO] [stderr] 373 | | let mut debugger = Debugger { [INFO] [stderr] 374 | | state: VmState::Running(Machine::new(rom_path)?), [INFO] [stderr] ... | [INFO] [stderr] 560 | | Ok(()) [INFO] [stderr] 561 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | SeekFrom::Start((a.0 as u64) * 2) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(a.0)` [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/memory.rs:118:25 [INFO] [stderr] | [INFO] [stderr] 118 | SeekFrom::Start((a.0 as u64) * 2) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(a.0)` [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: length comparison to zero [INFO] [stderr] --> src/memory.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | Some(s) if s.len() > 0 => Some(Addr::from_str(s)?), [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.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: length comparison to zero [INFO] [stderr] --> src/memory.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | Some(e) if e.len() > 0 => Some(Addr::from_str(e)?), [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.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: single-character string constant used as pattern [INFO] [stderr] --> src/debugger/mod.rs:432:51 [INFO] [stderr] | [INFO] [stderr] 432 | } else if loc.starts_with("r") { [INFO] [stderr] | ^^^ help: try using a char instead: `'r'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `memory::RegisterSet` [INFO] [stderr] --> src/memory.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | / pub fn new() -> RegisterSet { [INFO] [stderr] 207 | | RegisterSet([0; 8]) [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 173 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:268:51 [INFO] [stderr] | [INFO] [stderr] 268 | _ => bail!(ErrorKind::InvalidRegister(u as u16)), [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(u)` [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: single-character string constant used as pattern [INFO] [stderr] --> src/memory.rs:338:33 [INFO] [stderr] | [INFO] [stderr] 338 | } else if v.starts_with("b") { [INFO] [stderr] | ^^^ help: try using a char instead: `'b'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/machine.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 38 | let mut mem = Vec::with_capacity(mem_bytes); [INFO] [stderr] | ----------------------------- help: consider replace allocation with: `vec![0; mem_bytes]` [INFO] [stderr] 39 | mem.resize(mem_bytes, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/machine.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | memory.set_ip(ip.into()); [INFO] [stderr] | ^^^^^^^^^ help: consider removing `.into()`: `ip` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `r`. [INFO] [stderr] --> src/machine.rs:49:22 [INFO] [stderr] | [INFO] [stderr] 49 | for i in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 49 | for in &mut r { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/machine.rs:97:47 [INFO] [stderr] | [INFO] [stderr] 97 | match op_code.decode(&self.registers, self.stack.last().map(|h| *h))? { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.stack.last().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/machine.rs:123:49 [INFO] [stderr] | [INFO] [stderr] 123 | self.registers.write_u16(reg, (((val1 as u64) * (val2 as u64)) % 32768) as _); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(val1)` [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/machine.rs:123:65 [INFO] [stderr] | [INFO] [stderr] 123 | self.registers.write_u16(reg, (((val1 as u64) * (val2 as u64)) % 32768) as _); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(val2)` [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: length comparison to zero [INFO] [stderr] --> src/machine.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | if 0 == self.input_buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.input_buffer.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: passing a unit value to a function [INFO] [stderr] --> src/machine.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | Ok(self.registers.write_val(reg, v)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 185 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/machine.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 214 | let mut buf = Vec::with_capacity(tot_bytes); [INFO] [stderr] | ----------------------------- help: consider replace allocation with: `vec![0; tot_bytes]` [INFO] [stderr] 215 | buf.resize(tot_bytes, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/machine.rs:251:55 [INFO] [stderr] | [INFO] [stderr] 251 | let decoded = op_code.decode(&self.registers, self.stack.last().map(|h| *h))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.stack.last().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/memory.rs:47:28 [INFO] [stderr] | [INFO] [stderr] 47 | if loc.starts_with("r") { [INFO] [stderr] | ^^^ help: try using a char instead: `'r'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | SeekFrom::Start((a.0 as u64) * 2) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(a.0)` [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/memory.rs:118:25 [INFO] [stderr] | [INFO] [stderr] 118 | SeekFrom::Start((a.0 as u64) * 2) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(a.0)` [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: length comparison to zero [INFO] [stderr] --> src/memory.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | Some(s) if s.len() > 0 => Some(Addr::from_str(s)?), [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.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: length comparison to zero [INFO] [stderr] --> src/memory.rs:158:28 [INFO] [stderr] | [INFO] [stderr] 158 | Some(e) if e.len() > 0 => Some(Addr::from_str(e)?), [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.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: you should consider deriving a `Default` implementation for `memory::RegisterSet` [INFO] [stderr] --> src/memory.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | / pub fn new() -> RegisterSet { [INFO] [stderr] 207 | | RegisterSet([0; 8]) [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 173 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/memory.rs:268:51 [INFO] [stderr] | [INFO] [stderr] 268 | _ => bail!(ErrorKind::InvalidRegister(u as u16)), [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(u)` [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: single-character string constant used as pattern [INFO] [stderr] --> src/memory.rs:338:33 [INFO] [stderr] | [INFO] [stderr] 338 | } else if v.starts_with("b") { [INFO] [stderr] | ^^^ help: try using a char instead: `'b'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.58s [INFO] running `"docker" "inspect" "8255ef83b775d8f7026e75ee80ad3042581189443c8b01e13801117b0f11ebde"` [INFO] running `"docker" "rm" "-f" "8255ef83b775d8f7026e75ee80ad3042581189443c8b01e13801117b0f11ebde"` [INFO] [stdout] 8255ef83b775d8f7026e75ee80ad3042581189443c8b01e13801117b0f11ebde