[INFO] crate hrm_interpreter 0.2.0 is already in cache [INFO] extracting crate hrm_interpreter 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/hrm_interpreter/0.2.0 [INFO] extracting crate hrm_interpreter 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hrm_interpreter/0.2.0 [INFO] validating manifest of hrm_interpreter-0.2.0 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 hrm_interpreter-0.2.0 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 hrm_interpreter-0.2.0 [INFO] finished frobbing hrm_interpreter-0.2.0 [INFO] frobbed toml for hrm_interpreter-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/hrm_interpreter/0.2.0/Cargo.toml [INFO] started frobbing hrm_interpreter-0.2.0 [INFO] finished frobbing hrm_interpreter-0.2.0 [INFO] frobbed toml for hrm_interpreter-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hrm_interpreter/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 hrm_interpreter-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hrm_interpreter/0.2.0:/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] 30aeaedb6b1b5cc232677d6d572c0795947bf8950751f6b5ac0d238f95b29d67 [INFO] running `"docker" "start" "-a" "30aeaedb6b1b5cc232677d6d572c0795947bf8950751f6b5ac0d238f95b29d67"` [INFO] [stderr] Checking hrm_interpreter v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | operation: operation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operation` [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/json.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | operand: operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:75:36 [INFO] [stderr] | [INFO] [stderr] 75 | return Operation::CopyFrom{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | return Operation::CopyTo{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | return Operation::BumpPlus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | return Operation::BumpMinus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | operation: operation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operation` [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/json.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | operand: operand [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `operand` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:75:36 [INFO] [stderr] | [INFO] [stderr] 75 | return Operation::CopyFrom{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | return Operation::CopyTo{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | return Operation::BumpPlus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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/json.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | return Operation::BumpMinus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cell` [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: unneeded return statement [INFO] [stderr] --> src/json.rs:52:52 [INFO] [stderr] | [INFO] [stderr] 52 | if json_op.operation == String::from("inbox"){ return Operation::Inbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Inbox{}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Operation::Add{cell: cell_to_add}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Add{cell: cell_to_add}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return Operation::Sub{cell: cell_to_sub}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Sub{cell: cell_to_sub}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | return Operation::CopyFrom{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::CopyFrom{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | return Operation::CopyTo{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::CopyTo{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | return Operation::BumpPlus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::BumpPlus{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | return Operation::BumpMinus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::BumpMinus{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | return Operation::Label{}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Label{}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:131:59 [INFO] [stderr] | [INFO] [stderr] 131 | else if json_op.operation == String::from("outbox") { return Operation::Outbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Outbox{}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:146:4 [INFO] [stderr] | [INFO] [stderr] 146 | return labels; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | return Some(position); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(position)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / return InternalState::new(None, 0) [INFO] [stderr] 197 | | .with_input_tape(input_config.input_tape.into_iter().map(|input| match input { [INFO] [stderr] 198 | | JsonValue::Number(num_) => Value::Number { value: num_ }, [INFO] [stderr] 199 | | JsonValue::Character(char_) => Value::Character { value: char_ } [INFO] [stderr] ... | [INFO] [stderr] 205 | | }).collect()) [INFO] [stderr] 206 | | .clone(); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 196 | InternalState::new(None, 0) [INFO] [stderr] 197 | .with_input_tape(input_config.input_tape.into_iter().map(|input| match input { [INFO] [stderr] 198 | JsonValue::Number(num_) => Value::Number { value: num_ }, [INFO] [stderr] 199 | JsonValue::Character(char_) => Value::Character { value: char_ } [INFO] [stderr] 200 | }).collect()) [INFO] [stderr] 201 | .with_memory(input_config.memory.into_iter().map(|memory_value| match memory_value { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/memory.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | Some(Value::Character{value: _}) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/operators/add.rs:108:3 [INFO] [stderr] | [INFO] [stderr] 108 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/operators/add.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let res = match value_from_memory { [INFO] [stderr] | ___________________^ [INFO] [stderr] 64 | | Some(ref v) => { [INFO] [stderr] 65 | | match s.register { [INFO] [stderr] 66 | | Some(old_register) => { [INFO] [stderr] ... | [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/operators/sub.rs:133:3 [INFO] [stderr] | [INFO] [stderr] 133 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/operators/sub.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let res = match value_from_memory { [INFO] [stderr] | ___________________^ [INFO] [stderr] 88 | | Some(ref v) => { [INFO] [stderr] 89 | | match s.register { [INFO] [stderr] 90 | | Some(old_register) => { [INFO] [stderr] ... | [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/sub.rs:77:11 [INFO] [stderr] | [INFO] [stderr] 77 | Some(Value::Character{value: _}) => Err(SubOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/jump.rs:64:18 [INFO] [stderr] | [INFO] [stderr] 64 | Some(Value::Character{value: _}) => Err(String::from("cannot compare a character to zero!")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/bump.rs:43:11 [INFO] [stderr] | [INFO] [stderr] 43 | Some(Value::Character{value: _}) => Err(BumpOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/bump.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | Some(Value::Character{value: _}) => Err(BumpOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:52:52 [INFO] [stderr] | [INFO] [stderr] 52 | if json_op.operation == String::from("inbox"){ return Operation::Inbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Inbox{}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Operation::Add{cell: cell_to_add}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Add{cell: cell_to_add}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return Operation::Sub{cell: cell_to_sub}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Sub{cell: cell_to_sub}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | return Operation::CopyFrom{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::CopyFrom{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | return Operation::CopyTo{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::CopyTo{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | return Operation::BumpPlus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::BumpPlus{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | return Operation::BumpMinus{cell: cell}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::BumpMinus{cell: cell}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | return Operation::Label{}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Label{}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:131:59 [INFO] [stderr] | [INFO] [stderr] 131 | else if json_op.operation == String::from("outbox") { return Operation::Outbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Operation::Outbox{}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:146:4 [INFO] [stderr] | [INFO] [stderr] 146 | return labels; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | return Some(position); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(position)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / return InternalState::new(None, 0) [INFO] [stderr] 197 | | .with_input_tape(input_config.input_tape.into_iter().map(|input| match input { [INFO] [stderr] 198 | | JsonValue::Number(num_) => Value::Number { value: num_ }, [INFO] [stderr] 199 | | JsonValue::Character(char_) => Value::Character { value: char_ } [INFO] [stderr] ... | [INFO] [stderr] 205 | | }).collect()) [INFO] [stderr] 206 | | .clone(); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 196 | InternalState::new(None, 0) [INFO] [stderr] 197 | .with_input_tape(input_config.input_tape.into_iter().map(|input| match input { [INFO] [stderr] 198 | JsonValue::Number(num_) => Value::Number { value: num_ }, [INFO] [stderr] 199 | JsonValue::Character(char_) => Value::Character { value: char_ } [INFO] [stderr] 200 | }).collect()) [INFO] [stderr] 201 | .with_memory(input_config.memory.into_iter().map(|memory_value| match memory_value { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/memory.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | Some(Value::Character{value: _}) => [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/operators/add.rs:108:3 [INFO] [stderr] | [INFO] [stderr] 108 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/operators/add.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let res = match value_from_memory { [INFO] [stderr] | ___________________^ [INFO] [stderr] 64 | | Some(ref v) => { [INFO] [stderr] 65 | | match s.register { [INFO] [stderr] 66 | | Some(old_register) => { [INFO] [stderr] ... | [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/operators/sub.rs:133:3 [INFO] [stderr] | [INFO] [stderr] 133 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/operators/sub.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | let res = match value_from_memory { [INFO] [stderr] | ___________________^ [INFO] [stderr] 88 | | Some(ref v) => { [INFO] [stderr] 89 | | match s.register { [INFO] [stderr] 90 | | Some(old_register) => { [INFO] [stderr] ... | [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/sub.rs:77:11 [INFO] [stderr] | [INFO] [stderr] 77 | Some(Value::Character{value: _}) => Err(SubOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/jump.rs:64:18 [INFO] [stderr] | [INFO] [stderr] 64 | Some(Value::Character{value: _}) => Err(String::from("cannot compare a character to zero!")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/bump.rs:43:11 [INFO] [stderr] | [INFO] [stderr] 43 | Some(Value::Character{value: _}) => Err(BumpOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/operators/bump.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | Some(Value::Character{value: _}) => Err(BumpOp::explain_error(Error::PointerCellContainsChar)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Character { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `operation` [INFO] [stderr] --> src/operators/add.rs:257:7 [INFO] [stderr] | [INFO] [stderr] 257 | let operation = AddOp{cell: Location::Cell(0)}; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_operation` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/json.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn new(operation: String, operand: Option) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:51:56 [INFO] [stderr] | [INFO] [stderr] 51 | fn to_operator(json_op: JsonOperation, labels_mapping: &Vec<(String, usize)>) -> Operation { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, usize)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:52:29 [INFO] [stderr] | [INFO] [stderr] 52 | if json_op.operation == String::from("inbox"){ return Operation::Inbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"inbox"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:53:34 [INFO] [stderr] | [INFO] [stderr] 53 | else if json_op.operation == String::from("add") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"add"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:61:34 [INFO] [stderr] | [INFO] [stderr] 61 | else if json_op.operation == String::from("sub") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"sub"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:69:34 [INFO] [stderr] | [INFO] [stderr] 69 | else if json_op.operation == String::from("copyfrom") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"copyfrom"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:77:34 [INFO] [stderr] | [INFO] [stderr] 77 | else if json_op.operation == String::from("copyto") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `"copyto"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:85:34 [INFO] [stderr] | [INFO] [stderr] 85 | else if json_op.operation == String::from("bump+") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"bump+"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:93:34 [INFO] [stderr] | [INFO] [stderr] 93 | else if json_op.operation == String::from("bump-") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"bump-"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:101:34 [INFO] [stderr] | [INFO] [stderr] 101 | else if json_op.operation == String::from("label") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"label"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:104:34 [INFO] [stderr] | [INFO] [stderr] 104 | else if json_op.operation == String::from("jmp") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"jmp"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:113:34 [INFO] [stderr] | [INFO] [stderr] 113 | else if json_op.operation == String::from("jneg") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"jneg"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:122:34 [INFO] [stderr] | [INFO] [stderr] 122 | else if json_op.operation == String::from("jez") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"jez"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:131:34 [INFO] [stderr] | [INFO] [stderr] 131 | else if json_op.operation == String::from("outbox") { return Operation::Outbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `"outbox"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | fn labels_to_positions(source_code: &Vec) -> Vec<(String, usize)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[JsonOperation]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:139:35 [INFO] [stderr] | [INFO] [stderr] 139 | if operation.operation == String::from("label") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"label"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | fn position_from_label(label: &String, mapping: &Vec<(String, usize)>) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | fn position_from_label(label: &String, mapping: &Vec<(String, usize)>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, usize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:216:70 [INFO] [stderr] | [INFO] [stderr] 216 | pub fn serialize_state(internal_state: &InternalState, error_reason: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:226:80 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn dump_state(internal_state: &InternalState, srcpath: &str, error_reason: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/json.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | file.write(raw_state.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/json.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | file.write(b"\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/memory.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/add.rs:62:27 [INFO] [stderr] | [INFO] [stderr] 62 | let value_from_memory = s.memory[memory_position.unwrap()].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[memory_position.unwrap()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/sub.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/sub.rs:86:27 [INFO] [stderr] | [INFO] [stderr] 86 | let value_from_memory = s.memory[memory_position.unwrap()].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[memory_position.unwrap()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/operators/outbox.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | Err(format!("you cannot put nothing in the output queue!")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"you cannot put nothing in the output queue!".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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/operators/copyfrom.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | if let Some(_) = s.memory[cell] { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 20 | | s.register = s.memory[cell]; [INFO] [stderr] 21 | | Ok(()) [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | else { [INFO] [stderr] 24 | | Err(format!("cell {} holds no value. could not copy a none value to the register", cell)) [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________- help: try this: `if s.memory[cell].is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/bump.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/bump.rs:75:29 [INFO] [stderr] | [INFO] [stderr] 75 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/state.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn apply(&mut self, op: Operation) -> Result<(), String> { [INFO] [stderr] | _____^ [INFO] [stderr] 66 | | match op { [INFO] [stderr] 67 | | Operation::Add{cell: _cell} => { [INFO] [stderr] 68 | | apply_operation!(self, operators::add::AddOp{cell: _cell}) [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:51:56 [INFO] [stderr] | [INFO] [stderr] 51 | fn to_operator(json_op: JsonOperation, labels_mapping: &Vec<(String, usize)>) -> Operation { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, usize)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:52:29 [INFO] [stderr] | [INFO] [stderr] 52 | if json_op.operation == String::from("inbox"){ return Operation::Inbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"inbox"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:53:34 [INFO] [stderr] | [INFO] [stderr] 53 | else if json_op.operation == String::from("add") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"add"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:61:34 [INFO] [stderr] | [INFO] [stderr] 61 | else if json_op.operation == String::from("sub") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"sub"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:69:34 [INFO] [stderr] | [INFO] [stderr] 69 | else if json_op.operation == String::from("copyfrom") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"copyfrom"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:77:34 [INFO] [stderr] | [INFO] [stderr] 77 | else if json_op.operation == String::from("copyto") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `"copyto"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:85:34 [INFO] [stderr] | [INFO] [stderr] 85 | else if json_op.operation == String::from("bump+") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"bump+"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:93:34 [INFO] [stderr] | [INFO] [stderr] 93 | else if json_op.operation == String::from("bump-") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"bump-"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:101:34 [INFO] [stderr] | [INFO] [stderr] 101 | else if json_op.operation == String::from("label") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"label"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:104:34 [INFO] [stderr] | [INFO] [stderr] 104 | else if json_op.operation == String::from("jmp") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"jmp"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:113:34 [INFO] [stderr] | [INFO] [stderr] 113 | else if json_op.operation == String::from("jneg") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `"jneg"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:122:34 [INFO] [stderr] | [INFO] [stderr] 122 | else if json_op.operation == String::from("jez") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"jez"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:131:34 [INFO] [stderr] | [INFO] [stderr] 131 | else if json_op.operation == String::from("outbox") { return Operation::Outbox{}; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `"outbox"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | fn labels_to_positions(source_code: &Vec) -> Vec<(String, usize)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[JsonOperation]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/json.rs:139:35 [INFO] [stderr] | [INFO] [stderr] 139 | if operation.operation == String::from("label") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"label"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | fn position_from_label(label: &String, mapping: &Vec<(String, usize)>) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/json.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | fn position_from_label(label: &String, mapping: &Vec<(String, usize)>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, usize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:216:70 [INFO] [stderr] | [INFO] [stderr] 216 | pub fn serialize_state(internal_state: &InternalState, error_reason: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/json.rs:226:80 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn dump_state(internal_state: &InternalState, srcpath: &str, error_reason: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/json.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | file.write(raw_state.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/json.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | file.write(b"\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json.rs:316:17 [INFO] [stderr] | [INFO] [stderr] 316 | assert!(result.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json.rs:327:17 [INFO] [stderr] | [INFO] [stderr] 327 | assert!(result.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/memory.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/add.rs:62:27 [INFO] [stderr] | [INFO] [stderr] 62 | let value_from_memory = s.memory[memory_position.unwrap()].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[memory_position.unwrap()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/add.rs:127:3 [INFO] [stderr] | [INFO] [stderr] 127 | let _ = operation.apply_to(&mut state).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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/add.rs:141:3 [INFO] [stderr] | [INFO] [stderr] 141 | let _ = operation.apply_to(&mut state).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/add.rs:259:3 [INFO] [stderr] | [INFO] [stderr] 259 | let _ = state.apply(Operation::Add{cell: Location::Cell(0)}).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/add.rs:272:3 [INFO] [stderr] | [INFO] [stderr] 272 | let _ = state.apply(Operation::Add{cell: Location::Address(0)}).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/sub.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/sub.rs:86:27 [INFO] [stderr] | [INFO] [stderr] 86 | let value_from_memory = s.memory[memory_position.unwrap()].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[memory_position.unwrap()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/sub.rs:153:3 [INFO] [stderr] | [INFO] [stderr] 153 | let _ = operation.apply_to(&mut state).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/sub.rs:168:3 [INFO] [stderr] | [INFO] [stderr] 168 | let _ = operation.apply_to(&mut state).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/sub.rs:182:3 [INFO] [stderr] | [INFO] [stderr] 182 | let _ = operation.apply_to(&mut state).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/operators/sub.rs:196:3 [INFO] [stderr] | [INFO] [stderr] 196 | let _ = operation.apply_to(&mut state).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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: useless use of `format!` [INFO] [stderr] --> src/operators/outbox.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | Err(format!("you cannot put nothing in the output queue!")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"you cannot put nothing in the output queue!".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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/operators/copyfrom.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | if let Some(_) = s.memory[cell] { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 20 | | s.register = s.memory[cell]; [INFO] [stderr] 21 | | Ok(()) [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | else { [INFO] [stderr] 24 | | Err(format!("cell {} holds no value. could not copy a none value to the register", cell)) [INFO] [stderr] 25 | | } [INFO] [stderr] | |_________- help: try this: `if s.memory[cell].is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/bump.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/operators/bump.rs:75:29 [INFO] [stderr] | [INFO] [stderr] 75 | let value_from_memory = s.memory[mempos].clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.memory[mempos]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/state.rs:65:2 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn apply(&mut self, op: Operation) -> Result<(), String> { [INFO] [stderr] | _____^ [INFO] [stderr] 66 | | match op { [INFO] [stderr] 67 | | Operation::Add{cell: _cell} => { [INFO] [stderr] 68 | | apply_operation!(self, operators::add::AddOp{cell: _cell}) [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [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] Finished dev [unoptimized + debuginfo] target(s) in 6.55s [INFO] running `"docker" "inspect" "30aeaedb6b1b5cc232677d6d572c0795947bf8950751f6b5ac0d238f95b29d67"` [INFO] running `"docker" "rm" "-f" "30aeaedb6b1b5cc232677d6d572c0795947bf8950751f6b5ac0d238f95b29d67"` [INFO] [stdout] 30aeaedb6b1b5cc232677d6d572c0795947bf8950751f6b5ac0d238f95b29d67