[INFO] cloning repository https://github.com/siddharthroy12/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/siddharthroy12/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddharthroy12%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddharthroy12%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b47ebb8ed6d9592f3468fc226f5cd8282bd78ab8 [INFO] linting siddharthroy12/rlox against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiddharthroy12%2Frlox" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/siddharthroy12/rlox [INFO] finished tweaking git repo https://github.com/siddharthroy12/rlox [INFO] tweaked toml for git repo https://github.com/siddharthroy12/rlox written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/siddharthroy12/rlox on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/siddharthroy12/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 768fe50974d48f15c3fe52e961b9aa290026126f740da417ee3c94012f25c96f [INFO] running `Command { std: "docker" "start" "-a" "768fe50974d48f15c3fe52e961b9aa290026126f740da417ee3c94012f25c96f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "768fe50974d48f15c3fe52e961b9aa290026126f740da417ee3c94012f25c96f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "768fe50974d48f15c3fe52e961b9aa290026126f740da417ee3c94012f25c96f", kill_on_drop: false }` [INFO] [stdout] 768fe50974d48f15c3fe52e961b9aa290026126f740da417ee3c94012f25c96f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6110592a7bc7823160e34726727dd16fc99b34b056b75cc2503db9ec5997e1b8 [INFO] running `Command { std: "docker" "start" "-a" "6110592a7bc7823160e34726727dd16fc99b34b056b75cc2503db9ec5997e1b8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking clap_builder v4.5.47 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Checking clap v4.5.47 [INFO] [stderr] Checking noa v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/environment.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | values: values, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn snapshot(self: &Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 25 - pub fn snapshot(self: &Self) -> Result { [INFO] [stdout] 25 + pub fn snapshot(&self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn enclose(self: &mut Self, enclosing: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 50 - pub fn enclose(self: &mut Self, enclosing: Arc>) { [INFO] [stdout] 50 + pub fn enclose(&mut self, enclosing: Arc>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn define(self: &mut Self, identifier: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 53 - pub fn define(self: &mut Self, identifier: String, value: Object) { [INFO] [stdout] 53 + pub fn define(&mut self, identifier: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn assign(self: &mut Self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 56 - pub fn assign(self: &mut Self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] 56 + pub fn assign(&mut self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:78:16 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn get(self: &mut Self, token: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 78 - pub fn get(self: &mut Self, token: &Token) -> Result { [INFO] [stdout] 78 + pub fn get(&mut self, token: &Token) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:96:26 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn get_by_string(self: &mut Self, key: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 96 - pub fn get_by_string(self: &mut Self, key: String) -> Result { [INFO] [stdout] 96 + pub fn get_by_string(&mut self, key: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | fn parenthesize(self: &Self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 103 - fn parenthesize(self: &Self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] 103 + fn parenthesize(&self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/expression.rs:126:21 [INFO] [stdout] | [INFO] [stdout] 126 | line: line, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self: &Self, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 135 - self: &Self, [INFO] [stdout] 135 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:457:18 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn print(self: &Self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 457 - pub fn print(self: &Self) -> String { [INFO] [stdout] 457 + pub fn print(&self) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/noa/generic.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::format, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Noa` and `self` [INFO] [stdout] --> src/noa/interpreter.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | Noa, [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | environment::{self, Environment}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/interpreter.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn setup_global_object(self: &mut Self, name: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn setup_global_object(self: &mut Self, name: String, value: Object) { [INFO] [stdout] 21 + pub fn setup_global_object(&mut self, name: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/interpreter.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 29 - pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] 29 + pub fn execute(&mut self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/noa/interpreter.rs:29:75 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] 29 + pub fn execute(self: &mut Self, statements: Vec) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `io::Write` [INFO] [stdout] --> src/noa/number.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | io::Write, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 3 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NoaError`, `NoaTermination`, `Number`, `Object`, and `environment::Environment` [INFO] [stdout] --> src/noa/number.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | environment::Environment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | error::{NoaError, NoaTermination}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | types::{Number, Object}, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn parse(self: &mut Self) -> Result, NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 26 - pub fn parse(self: &mut Self) -> Result, NoaError> { [INFO] [stdout] 26 + pub fn parse(&mut self) -> Result, NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:57:30 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn parse_declaration(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 57 - pub fn parse_declaration(self: &mut Self) -> Result { [INFO] [stdout] 57 + pub fn parse_declaration(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:68:34 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn parse_var_declaration(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 68 - pub fn parse_var_declaration(self: &mut Self) -> Result { [INFO] [stdout] 68 + pub fn parse_var_declaration(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | identifier: identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn parse_func_declaration(self: &mut Self, kind: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 88 - pub fn parse_func_declaration(self: &mut Self, kind: String) -> Result { [INFO] [stdout] 88 + pub fn parse_func_declaration(&mut self, kind: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn parse_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 126 - pub fn parse_statement(self: &mut Self) -> Result { [INFO] [stdout] 126 + pub fn parse_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:150:35 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn parse_return_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 150 - pub fn parse_return_statement(self: &mut Self) -> Result { [INFO] [stdout] 150 + pub fn parse_return_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:168:31 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn parse_if_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 168 - pub fn parse_if_statement(self: &mut Self) -> Result { [INFO] [stdout] 168 + pub fn parse_if_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:197:34 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn parse_while_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 197 - pub fn parse_while_statement(self: &mut Self) -> Result { [INFO] [stdout] 197 + pub fn parse_while_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn parse_for_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 215 - pub fn parse_for_statement(self: &mut Self) -> Result { [INFO] [stdout] 215 + pub fn parse_for_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:278:34 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn parse_block_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 278 - pub fn parse_block_statement(self: &mut Self) -> Result { [INFO] [stdout] 278 + pub fn parse_block_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | statements: statements, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `statements` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:292:39 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn parse_expression_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 292 - pub fn parse_expression_statement(self: &mut Self) -> Result { [INFO] [stdout] 292 + pub fn parse_expression_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | fn is_at_end(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 304 - fn is_at_end(self: &Self) -> bool { [INFO] [stdout] 304 + fn is_at_end(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | fn peek(self: &Self) -> &Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 307 - fn peek(self: &Self) -> &Token { [INFO] [stdout] 307 + fn peek(&self) -> &Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | fn check(self: &Self, token_type: &TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 310 - fn check(self: &Self, token_type: &TokenType) -> bool { [INFO] [stdout] 310 + fn check(&self, token_type: &TokenType) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | fn previous(self: &Self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 317 - fn previous(self: &Self) -> Token { [INFO] [stdout] 317 + fn previous(&self) -> Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | fn advance(self: &mut Self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 320 - fn advance(self: &mut Self) -> Token { [INFO] [stdout] 320 + fn advance(&mut self) -> Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:327:26 [INFO] [stdout] | [INFO] [stdout] 327 | fn match_token_types(self: &mut Self, types: &[TokenType]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 327 - fn match_token_types(self: &mut Self, types: &[TokenType]) -> bool { [INFO] [stdout] 327 + fn match_token_types(&mut self, types: &[TokenType]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:338:25 [INFO] [stdout] | [INFO] [stdout] 338 | fn parse_expression(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 338 - fn parse_expression(self: &mut Self) -> Result { [INFO] [stdout] 338 + fn parse_expression(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | fn parse_assignment(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 342 - fn parse_assignment(self: &mut Self) -> Result { [INFO] [stdout] 342 + fn parse_assignment(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:368:17 [INFO] [stdout] | [INFO] [stdout] 368 | fn parse_or(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 368 - fn parse_or(self: &mut Self) -> Result { [INFO] [stdout] 368 + fn parse_or(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:384:18 [INFO] [stdout] | [INFO] [stdout] 384 | fn parse_and(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 384 - fn parse_and(self: &mut Self) -> Result { [INFO] [stdout] 384 + fn parse_and(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | fn parse_ternary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 400 - fn parse_ternary(self: &mut Self) -> Result { [INFO] [stdout] 400 + fn parse_ternary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:420:23 [INFO] [stdout] | [INFO] [stdout] 420 | fn parse_equality(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 420 - fn parse_equality(self: &mut Self) -> Result { [INFO] [stdout] 420 + fn parse_equality(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:436:25 [INFO] [stdout] | [INFO] [stdout] 436 | fn parse_comparison(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 436 - fn parse_comparison(self: &mut Self) -> Result { [INFO] [stdout] 436 + fn parse_comparison(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:449:17 [INFO] [stdout] | [INFO] [stdout] 449 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:457:19 [INFO] [stdout] | [INFO] [stdout] 457 | fn parse_term(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 457 - fn parse_term(self: &mut Self) -> Result { [INFO] [stdout] 457 + fn parse_term(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:473:21 [INFO] [stdout] | [INFO] [stdout] 473 | fn parse_factor(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 473 - fn parse_factor(self: &mut Self) -> Result { [INFO] [stdout] 473 + fn parse_factor(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:481:17 [INFO] [stdout] | [INFO] [stdout] 481 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:489:20 [INFO] [stdout] | [INFO] [stdout] 489 | fn parse_unary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 489 - fn parse_unary(self: &mut Self) -> Result { [INFO] [stdout] 489 + fn parse_unary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:502:33 [INFO] [stdout] | [INFO] [stdout] 502 | fn parse_call_or_key_access(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 502 - fn parse_call_or_key_access(self: &mut Self) -> Result { [INFO] [stdout] 502 + fn parse_call_or_key_access(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:518:20 [INFO] [stdout] | [INFO] [stdout] 518 | fn finish_call(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 518 - fn finish_call(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] 518 + fn finish_call(&mut self, expression: Expression) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | arguments: arguments, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `arguments` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:545:26 [INFO] [stdout] | [INFO] [stdout] 545 | fn finish_access_key(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 545 - fn finish_access_key(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] 545 + fn finish_access_key(&mut self, expression: Expression) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:558:22 [INFO] [stdout] | [INFO] [stdout] 558 | fn parse_primary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 558 - fn parse_primary(self: &mut Self) -> Result { [INFO] [stdout] 558 + fn parse_primary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:612:20 [INFO] [stdout] | [INFO] [stdout] 612 | fn parse_table(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 612 - fn parse_table(self: &mut Self) -> Result { [INFO] [stdout] 612 + fn parse_table(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:633:29 [INFO] [stdout] | [INFO] [stdout] 633 | fn parse_comma_operator(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 633 - fn parse_comma_operator(self: &mut Self) -> Result { [INFO] [stdout] 633 + fn parse_comma_operator(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:649:16 [INFO] [stdout] | [INFO] [stdout] 649 | fn consume(self: &mut Self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 649 - fn consume(self: &mut Self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] 649 + fn consume(&mut self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | fn synchronize(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 656 - fn synchronize(self: &mut Self) { [INFO] [stdout] 656 + fn synchronize(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | source: source, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `source` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn debug_print(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 49 - pub fn debug_print(self: &Self) { [INFO] [stdout] 49 + pub fn debug_print(&self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:61:18 [INFO] [stdout] | [INFO] [stdout] 61 | fn is_at_end(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 61 - fn is_at_end(self: &Self) -> bool { [INFO] [stdout] 61 + fn is_at_end(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn scan_tokens(self: &mut Self) -> Result<(), NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 65 - pub fn scan_tokens(self: &mut Self) -> Result<(), NoaError> { [INFO] [stdout] 65 + pub fn scan_tokens(&mut self) -> Result<(), NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | message: message, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | fn scan_string_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 85 - fn scan_string_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 85 + fn scan_string_literal(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | fn scan_identifier_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 103 - fn scan_identifier_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 103 + fn scan_identifier_token(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | fn skip_single_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 117 - fn skip_single_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 117 + fn skip_single_line_comment(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | fn skip_multi_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 124 - fn skip_multi_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 124 + fn skip_multi_line_comment(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:153:28 [INFO] [stdout] | [INFO] [stdout] 153 | fn scan_number_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 153 - fn scan_number_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 153 + fn scan_number_literal(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 174 | fn scan_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 174 - fn scan_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 174 + fn scan_token(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:248:31 [INFO] [stdout] | [INFO] [stdout] 248 | fn add_token_with_literal(self: &mut Self, token_type: TokenType, literal: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 248 - fn add_token_with_literal(self: &mut Self, token_type: TokenType, literal: Object) { [INFO] [stdout] 248 + fn add_token_with_literal(&mut self, token_type: TokenType, literal: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:258:18 [INFO] [stdout] | [INFO] [stdout] 258 | fn add_token(self: &mut Self, token_type: TokenType) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 258 - fn add_token(self: &mut Self, token_type: TokenType) { [INFO] [stdout] 258 + fn add_token(&mut self, token_type: TokenType) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:262:16 [INFO] [stdout] | [INFO] [stdout] 262 | fn advance(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 262 - fn advance(self: &mut Self) -> char { [INFO] [stdout] 262 + fn advance(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | fn peek(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 268 - fn peek(self: &mut Self) -> char { [INFO] [stdout] 268 + fn peek(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:275:18 [INFO] [stdout] | [INFO] [stdout] 275 | fn peek_next(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 275 - fn peek_next(self: &mut Self) -> char { [INFO] [stdout] 275 + fn peek_next(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:285:24 [INFO] [stdout] | [INFO] [stdout] 285 | fn match_next_char(self: &mut Self, expected: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 285 - fn match_next_char(self: &mut Self, expected: char) -> bool { [INFO] [stdout] 285 + fn match_next_char(&mut self, expected: char) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/statement.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | self: &Self, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 63 - self: &Self, [INFO] [stdout] 63 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/statement.rs:149:29 [INFO] [stdout] | [INFO] [stdout] 149 | ... params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/token.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn to_string(self: &Self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 66 - pub fn to_string(self: &Self) -> String { [INFO] [stdout] 66 + pub fn to_string(&self) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/noa/types.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::{self, Error}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn call(self: &Self, arguments: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 25 - pub fn call(self: &Self, arguments: Vec) -> Result { [INFO] [stdout] 25 + pub fn call(&self, arguments: Vec) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/noa/types.rs:31:51 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove them: `environment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/noa/types.rs:31:51 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] 31 + let mut environment = Arc::new(Mutex::new(environment )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_value(self: &Self, key: String) -> Object { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 64 - pub fn get_value(self: &Self, key: String) -> Object { [INFO] [stdout] 64 + pub fn get_value(&self, key: String) -> Object { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:72:22 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn set_value(self: &mut Self, key: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 72 - pub fn set_value(self: &mut Self, key: String, value: Object) { [INFO] [stdout] 72 + pub fn set_value(&mut self, key: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn is_truthy(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 88 - pub fn is_truthy(self: &Self) -> bool { [INFO] [stdout] 88 + pub fn is_truthy(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn is_equal(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 104 - pub fn is_equal(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 104 + pub fn is_equal(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn is_greater(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 148 - pub fn is_greater(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 148 + pub fn is_greater(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn is_less(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 181 - pub fn is_less(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 181 + pub fn is_less(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:40:24 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn load_libray(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 40 - pub fn load_libray(self: &mut Self) { [INFO] [stdout] 40 + pub fn load_libray(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn setup_global_object(self: &mut Self, identifier: String, object: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 113 - pub fn setup_global_object(self: &mut Self, identifier: String, object: Object) { [INFO] [stdout] 113 + pub fn setup_global_object(&mut self, identifier: String, object: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:116:16 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn run(self: &mut Self, src: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 116 - pub fn run(self: &mut Self, src: String) -> Result { [INFO] [stdout] 116 + pub fn run(&mut self, src: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 137 - pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] 137 + pub fn run_file(&mut self, path: String) -> Result<(Number), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/noa/mod.rs:137:62 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 137 - pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] 137 + pub fn run_file(self: &mut Self, path: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/noa/expression.rs:351:30 [INFO] [stdout] | [INFO] [stdout] 351 | for (i, arg) in call_expression.arguments.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/environment.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | values: values, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `values` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn snapshot(self: &Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] = note: `#[warn(clippy::needless_arbitrary_self_type)]` on by default [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 25 - pub fn snapshot(self: &Self) -> Result { [INFO] [stdout] 25 + pub fn snapshot(&self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:50:20 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn enclose(self: &mut Self, enclosing: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 50 - pub fn enclose(self: &mut Self, enclosing: Arc>) { [INFO] [stdout] 50 + pub fn enclose(&mut self, enclosing: Arc>) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn define(self: &mut Self, identifier: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 53 - pub fn define(self: &mut Self, identifier: String, value: Object) { [INFO] [stdout] 53 + pub fn define(&mut self, identifier: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn assign(self: &mut Self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 56 - pub fn assign(self: &mut Self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] 56 + pub fn assign(&mut self, token: &Token, value: Object) -> Result<(), NoaTermination> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:78:16 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn get(self: &mut Self, token: &Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 78 - pub fn get(self: &mut Self, token: &Token) -> Result { [INFO] [stdout] 78 + pub fn get(&mut self, token: &Token) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/environment.rs:96:26 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn get_by_string(self: &mut Self, key: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 96 - pub fn get_by_string(self: &mut Self, key: String) -> Result { [INFO] [stdout] 96 + pub fn get_by_string(&mut self, key: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | fn parenthesize(self: &Self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 103 - fn parenthesize(self: &Self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] 103 + fn parenthesize(&self, name: &String, expressions: &[Box]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/expression.rs:126:21 [INFO] [stdout] | [INFO] [stdout] 126 | line: line, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self: &Self, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 135 - self: &Self, [INFO] [stdout] 135 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/expression.rs:457:18 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn print(self: &Self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 457 - pub fn print(self: &Self) -> String { [INFO] [stdout] 457 + pub fn print(&self) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/noa/generic.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::format, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Noa` and `self` [INFO] [stdout] --> src/noa/interpreter.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | Noa, [INFO] [stdout] | ^^^ [INFO] [stdout] 5 | environment::{self, Environment}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/interpreter.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn setup_global_object(self: &mut Self, name: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 21 - pub fn setup_global_object(self: &mut Self, name: String, value: Object) { [INFO] [stdout] 21 + pub fn setup_global_object(&mut self, name: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/interpreter.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 29 - pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] 29 + pub fn execute(&mut self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/noa/interpreter.rs:29:75 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - pub fn execute(self: &mut Self, statements: Vec) -> Result<(Number), NoaError> { [INFO] [stdout] 29 + pub fn execute(self: &mut Self, statements: Vec) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `io::Write` [INFO] [stdout] --> src/noa/number.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | io::Write, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 3 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NoaError`, `NoaTermination`, `Number`, `Object`, and `environment::Environment` [INFO] [stdout] --> src/noa/number.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | environment::Environment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | error::{NoaError, NoaTermination}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | types::{Number, Object}, [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn parse(self: &mut Self) -> Result, NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 26 - pub fn parse(self: &mut Self) -> Result, NoaError> { [INFO] [stdout] 26 + pub fn parse(&mut self) -> Result, NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:57:30 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn parse_declaration(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 57 - pub fn parse_declaration(self: &mut Self) -> Result { [INFO] [stdout] 57 + pub fn parse_declaration(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:68:34 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn parse_var_declaration(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 68 - pub fn parse_var_declaration(self: &mut Self) -> Result { [INFO] [stdout] 68 + pub fn parse_var_declaration(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | identifier: identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `identifier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn parse_func_declaration(self: &mut Self, kind: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 88 - pub fn parse_func_declaration(self: &mut Self, kind: String) -> Result { [INFO] [stdout] 88 + pub fn parse_func_declaration(&mut self, kind: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn parse_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 126 - pub fn parse_statement(self: &mut Self) -> Result { [INFO] [stdout] 126 + pub fn parse_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:150:35 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn parse_return_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 150 - pub fn parse_return_statement(self: &mut Self) -> Result { [INFO] [stdout] 150 + pub fn parse_return_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:168:31 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn parse_if_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 168 - pub fn parse_if_statement(self: &mut Self) -> Result { [INFO] [stdout] 168 + pub fn parse_if_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:197:34 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn parse_while_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 197 - pub fn parse_while_statement(self: &mut Self) -> Result { [INFO] [stdout] 197 + pub fn parse_while_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn parse_for_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 215 - pub fn parse_for_statement(self: &mut Self) -> Result { [INFO] [stdout] 215 + pub fn parse_for_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:278:34 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn parse_block_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 278 - pub fn parse_block_statement(self: &mut Self) -> Result { [INFO] [stdout] 278 + pub fn parse_block_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | statements: statements, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `statements` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:292:39 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn parse_expression_statement(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 292 - pub fn parse_expression_statement(self: &mut Self) -> Result { [INFO] [stdout] 292 + pub fn parse_expression_statement(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 304 | fn is_at_end(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 304 - fn is_at_end(self: &Self) -> bool { [INFO] [stdout] 304 + fn is_at_end(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | fn peek(self: &Self) -> &Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 307 - fn peek(self: &Self) -> &Token { [INFO] [stdout] 307 + fn peek(&self) -> &Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | fn check(self: &Self, token_type: &TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 310 - fn check(self: &Self, token_type: &TokenType) -> bool { [INFO] [stdout] 310 + fn check(&self, token_type: &TokenType) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | fn previous(self: &Self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 317 - fn previous(self: &Self) -> Token { [INFO] [stdout] 317 + fn previous(&self) -> Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | fn advance(self: &mut Self) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 320 - fn advance(self: &mut Self) -> Token { [INFO] [stdout] 320 + fn advance(&mut self) -> Token { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:327:26 [INFO] [stdout] | [INFO] [stdout] 327 | fn match_token_types(self: &mut Self, types: &[TokenType]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 327 - fn match_token_types(self: &mut Self, types: &[TokenType]) -> bool { [INFO] [stdout] 327 + fn match_token_types(&mut self, types: &[TokenType]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:338:25 [INFO] [stdout] | [INFO] [stdout] 338 | fn parse_expression(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 338 - fn parse_expression(self: &mut Self) -> Result { [INFO] [stdout] 338 + fn parse_expression(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 342 | fn parse_assignment(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 342 - fn parse_assignment(self: &mut Self) -> Result { [INFO] [stdout] 342 + fn parse_assignment(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:368:17 [INFO] [stdout] | [INFO] [stdout] 368 | fn parse_or(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 368 - fn parse_or(self: &mut Self) -> Result { [INFO] [stdout] 368 + fn parse_or(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:384:18 [INFO] [stdout] | [INFO] [stdout] 384 | fn parse_and(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 384 - fn parse_and(self: &mut Self) -> Result { [INFO] [stdout] 384 + fn parse_and(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:400:22 [INFO] [stdout] | [INFO] [stdout] 400 | fn parse_ternary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 400 - fn parse_ternary(self: &mut Self) -> Result { [INFO] [stdout] 400 + fn parse_ternary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:420:23 [INFO] [stdout] | [INFO] [stdout] 420 | fn parse_equality(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 420 - fn parse_equality(self: &mut Self) -> Result { [INFO] [stdout] 420 + fn parse_equality(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:436:25 [INFO] [stdout] | [INFO] [stdout] 436 | fn parse_comparison(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 436 - fn parse_comparison(self: &mut Self) -> Result { [INFO] [stdout] 436 + fn parse_comparison(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:449:17 [INFO] [stdout] | [INFO] [stdout] 449 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:457:19 [INFO] [stdout] | [INFO] [stdout] 457 | fn parse_term(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 457 - fn parse_term(self: &mut Self) -> Result { [INFO] [stdout] 457 + fn parse_term(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:473:21 [INFO] [stdout] | [INFO] [stdout] 473 | fn parse_factor(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 473 - fn parse_factor(self: &mut Self) -> Result { [INFO] [stdout] 473 + fn parse_factor(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:481:17 [INFO] [stdout] | [INFO] [stdout] 481 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:489:20 [INFO] [stdout] | [INFO] [stdout] 489 | fn parse_unary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 489 - fn parse_unary(self: &mut Self) -> Result { [INFO] [stdout] 489 + fn parse_unary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:494:17 [INFO] [stdout] | [INFO] [stdout] 494 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:502:33 [INFO] [stdout] | [INFO] [stdout] 502 | fn parse_call_or_key_access(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 502 - fn parse_call_or_key_access(self: &mut Self) -> Result { [INFO] [stdout] 502 + fn parse_call_or_key_access(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:518:20 [INFO] [stdout] | [INFO] [stdout] 518 | fn finish_call(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 518 - fn finish_call(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] 518 + fn finish_call(&mut self, expression: Expression) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | arguments: arguments, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `arguments` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:545:26 [INFO] [stdout] | [INFO] [stdout] 545 | fn finish_access_key(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 545 - fn finish_access_key(self: &mut Self, expression: Expression) -> Result { [INFO] [stdout] 545 + fn finish_access_key(&mut self, expression: Expression) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:558:22 [INFO] [stdout] | [INFO] [stdout] 558 | fn parse_primary(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 558 - fn parse_primary(self: &mut Self) -> Result { [INFO] [stdout] 558 + fn parse_primary(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:612:20 [INFO] [stdout] | [INFO] [stdout] 612 | fn parse_table(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 612 - fn parse_table(self: &mut Self) -> Result { [INFO] [stdout] 612 + fn parse_table(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:633:29 [INFO] [stdout] | [INFO] [stdout] 633 | fn parse_comma_operator(self: &mut Self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 633 - fn parse_comma_operator(self: &mut Self) -> Result { [INFO] [stdout] 633 + fn parse_comma_operator(&mut self) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/parser.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | operator: operator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `operator` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:649:16 [INFO] [stdout] | [INFO] [stdout] 649 | fn consume(self: &mut Self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 649 - fn consume(self: &mut Self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] 649 + fn consume(&mut self, token_type: TokenType, message: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/parser.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | fn synchronize(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 656 - fn synchronize(self: &mut Self) { [INFO] [stdout] 656 + fn synchronize(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | source: source, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `source` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn debug_print(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 49 - pub fn debug_print(self: &Self) { [INFO] [stdout] 49 + pub fn debug_print(&self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:61:18 [INFO] [stdout] | [INFO] [stdout] 61 | fn is_at_end(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 61 - fn is_at_end(self: &Self) -> bool { [INFO] [stdout] 61 + fn is_at_end(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn scan_tokens(self: &mut Self) -> Result<(), NoaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 65 - pub fn scan_tokens(self: &mut Self) -> Result<(), NoaError> { [INFO] [stdout] 65 + pub fn scan_tokens(&mut self) -> Result<(), NoaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/scanner.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 72 | message: message, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | fn scan_string_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 85 - fn scan_string_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 85 + fn scan_string_literal(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | fn scan_identifier_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 103 - fn scan_identifier_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 103 + fn scan_identifier_token(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | fn skip_single_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 117 - fn skip_single_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 117 + fn skip_single_line_comment(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | fn skip_multi_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 124 - fn skip_multi_line_comment(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 124 + fn skip_multi_line_comment(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:153:28 [INFO] [stdout] | [INFO] [stdout] 153 | fn scan_number_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 153 - fn scan_number_literal(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 153 + fn scan_number_literal(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 174 | fn scan_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 174 - fn scan_token(self: &mut Self) -> Result<(), String> { [INFO] [stdout] 174 + fn scan_token(&mut self) -> Result<(), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:248:31 [INFO] [stdout] | [INFO] [stdout] 248 | fn add_token_with_literal(self: &mut Self, token_type: TokenType, literal: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 248 - fn add_token_with_literal(self: &mut Self, token_type: TokenType, literal: Object) { [INFO] [stdout] 248 + fn add_token_with_literal(&mut self, token_type: TokenType, literal: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:258:18 [INFO] [stdout] | [INFO] [stdout] 258 | fn add_token(self: &mut Self, token_type: TokenType) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 258 - fn add_token(self: &mut Self, token_type: TokenType) { [INFO] [stdout] 258 + fn add_token(&mut self, token_type: TokenType) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:262:16 [INFO] [stdout] | [INFO] [stdout] 262 | fn advance(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 262 - fn advance(self: &mut Self) -> char { [INFO] [stdout] 262 + fn advance(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | fn peek(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 268 - fn peek(self: &mut Self) -> char { [INFO] [stdout] 268 + fn peek(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:275:18 [INFO] [stdout] | [INFO] [stdout] 275 | fn peek_next(self: &mut Self) -> char { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 275 - fn peek_next(self: &mut Self) -> char { [INFO] [stdout] 275 + fn peek_next(&mut self) -> char { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/scanner.rs:285:24 [INFO] [stdout] | [INFO] [stdout] 285 | fn match_next_char(self: &mut Self, expected: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 285 - fn match_next_char(self: &mut Self, expected: char) -> bool { [INFO] [stdout] 285 + fn match_next_char(&mut self, expected: char) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/statement.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | self: &Self, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 63 - self: &Self, [INFO] [stdout] 63 + &self, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/noa/statement.rs:149:29 [INFO] [stdout] | [INFO] [stdout] 149 | ... params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/token.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn to_string(self: &Self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 66 - pub fn to_string(self: &Self) -> String { [INFO] [stdout] 66 + pub fn to_string(&self) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/noa/types.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | fmt::{self, Error}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn call(self: &Self, arguments: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 25 - pub fn call(self: &Self, arguments: Vec) -> Result { [INFO] [stdout] 25 + pub fn call(&self, arguments: Vec) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/noa/types.rs:31:51 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove them: `environment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/noa/types.rs:31:51 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 31 - let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] 31 + let mut environment = Arc::new(Mutex::new(environment )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_value(self: &Self, key: String) -> Object { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 64 - pub fn get_value(self: &Self, key: String) -> Object { [INFO] [stdout] 64 + pub fn get_value(&self, key: String) -> Object { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:72:22 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn set_value(self: &mut Self, key: String, value: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 72 - pub fn set_value(self: &mut Self, key: String, value: Object) { [INFO] [stdout] 72 + pub fn set_value(&mut self, key: String, value: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn is_truthy(self: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 88 - pub fn is_truthy(self: &Self) -> bool { [INFO] [stdout] 88 + pub fn is_truthy(&self) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn is_equal(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 104 - pub fn is_equal(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 104 + pub fn is_equal(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn is_greater(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 148 - pub fn is_greater(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 148 + pub fn is_greater(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/types.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn is_less(self: &Self, comp: &Object) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 181 - pub fn is_less(self: &Self, comp: &Object) -> bool { [INFO] [stdout] 181 + pub fn is_less(&self, comp: &Object) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:40:24 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn load_libray(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 40 - pub fn load_libray(self: &mut Self) { [INFO] [stdout] 40 + pub fn load_libray(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn setup_global_object(self: &mut Self, identifier: String, object: Object) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 113 - pub fn setup_global_object(self: &mut Self, identifier: String, object: Object) { [INFO] [stdout] 113 + pub fn setup_global_object(&mut self, identifier: String, object: Object) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:116:16 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn run(self: &mut Self, src: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 116 - pub fn run(self: &mut Self, src: String) -> Result { [INFO] [stdout] 116 + pub fn run(&mut self, src: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type of the `self` parameter does not need to be arbitrary [INFO] [stdout] --> src/noa/mod.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_arbitrary_self_type [INFO] [stdout] help: remove the type [INFO] [stdout] | [INFO] [stdout] 137 - pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] 137 + pub fn run_file(&mut self, path: String) -> Result<(Number), String> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/noa/mod.rs:137:62 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 137 - pub fn run_file(self: &mut Self, path: String) -> Result<(Number), String> { [INFO] [stdout] 137 + pub fn run_file(self: &mut Self, path: String) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/noa/types.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `synchronize` is never used [INFO] [stdout] --> src/noa/parser.rs:656:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 656 | fn synchronize(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `debug_print` is never used [INFO] [stdout] --> src/noa/scanner.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Scanner { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn debug_print(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | / return Environment { [INFO] [stdout] 21 | | values: values, [INFO] [stdout] 22 | | enclosing: None, [INFO] [stdout] 23 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 ~ Environment { [INFO] [stdout] 21 + values: values, [INFO] [stdout] 22 + enclosing: None, [INFO] [stdout] 23 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | / return Ok(Self { [INFO] [stdout] 46 | | values: self.values.clone(), [INFO] [stdout] 47 | | enclosing: None, [INFO] [stdout] 48 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 ~ Ok(Self { [INFO] [stdout] 46 + values: self.values.clone(), [INFO] [stdout] 47 + enclosing: None, [INFO] [stdout] 48 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/environment.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / match self.enclosing.clone() { [INFO] [stdout] 27 | | Some(e) => match e.lock() { [INFO] [stdout] 28 | | Ok(mutex) => { [INFO] [stdout] 29 | | let enclose = mutex.snapshot()?; [INFO] [stdout] ... | [INFO] [stdout] 43 | | _ => {} [INFO] [stdout] 44 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 26 ~ if let Some(e) = self.enclosing.clone() { match e.lock() { [INFO] [stdout] 27 + Ok(mutex) => { [INFO] [stdout] 28 + let enclose = mutex.snapshot()?; [INFO] [stdout] 29 + return Ok(Self { [INFO] [stdout] 30 + values: self.values.clone(), [INFO] [stdout] 31 + enclosing: Some(Arc::new(Mutex::new(enclose))), [INFO] [stdout] 32 + }); [INFO] [stdout] 33 + } [INFO] [stdout] 34 + Err(_) => { [INFO] [stdout] 35 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 36 + line: 0, [INFO] [stdout] 37 + location: "N/A".to_owned(), [INFO] [stdout] 38 + message: "Failed to lock environemnt".to_owned(), [INFO] [stdout] 39 + })); [INFO] [stdout] 40 + } [INFO] [stdout] 41 ~ } }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/environment.rs:69:34 [INFO] [stdout] | [INFO] [stdout] 69 | message: format!("Unkown variable"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unkown variable".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:83:42 [INFO] [stdout] | [INFO] [stdout] 83 | Ok(mut enclosing) => return enclosing.get(token), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - Ok(mut enclosing) => return enclosing.get(token), [INFO] [stdout] 83 + Ok(mut enclosing) => enclosing.get(token), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/environment.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | message: format!("Unkown variable"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unkown variable".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | Ok(mut enclosing) => return enclosing.get_by_string(key), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - Ok(mut enclosing) => return enclosing.get_by_string(key), [INFO] [stdout] 101 + Ok(mut enclosing) => enclosing.get_by_string(key), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return res; [INFO] [stdout] 116 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/noa/expression.rs:107:22 [INFO] [stdout] | [INFO] [stdout] 107 | res.push_str(&name); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | return Ok(n); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 122 - return Ok(n); [INFO] [stdout] 122 + Ok(n) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 126 | | line: line, [INFO] [stdout] 127 | | location: format!("\"{}\"", object.to_string()), [INFO] [stdout] 128 | | message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] 129 | | })); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 126 + line: line, [INFO] [stdout] 127 + location: format!("\"{}\"", object.to_string()), [INFO] [stdout] 128 + message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] 129 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:127:55 [INFO] [stdout] | [INFO] [stdout] 127 | location: format!("\"{}\"", object.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:128:76 [INFO] [stdout] | [INFO] [stdout] 128 | message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | return Ok(right_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 146 - return Ok(right_value); [INFO] [stdout] 146 + Ok(right_value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | return Ok(Object::Bool(left_value.is_equal(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return Ok(Object::Bool(left_value.is_equal(&right_value))); [INFO] [stdout] 150 + Ok(Object::Bool(left_value.is_equal(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:153:25 [INFO] [stdout] | [INFO] [stdout] 153 | return Ok(Object::Bool(!left_value.is_equal(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return Ok(Object::Bool(!left_value.is_equal(&right_value))); [INFO] [stdout] 153 + Ok(Object::Bool(!left_value.is_equal(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | return Ok(Object::Bool(left_value.is_greater(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return Ok(Object::Bool(left_value.is_greater(&right_value))); [INFO] [stdout] 157 + Ok(Object::Bool(left_value.is_greater(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | / return Ok(Object::Bool( [INFO] [stdout] 161 | | left_value.is_greater(&right_value) [INFO] [stdout] 162 | | || left_value.is_equal(&right_value), [INFO] [stdout] 163 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 ~ Ok(Object::Bool( [INFO] [stdout] 161 + left_value.is_greater(&right_value) [INFO] [stdout] 162 + || left_value.is_equal(&right_value), [INFO] [stdout] 163 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:166:25 [INFO] [stdout] | [INFO] [stdout] 166 | return Ok(Object::Bool(left_value.is_less(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 166 - return Ok(Object::Bool(left_value.is_less(&right_value))); [INFO] [stdout] 166 + Ok(Object::Bool(left_value.is_less(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:169:25 [INFO] [stdout] | [INFO] [stdout] 169 | / return Ok(Object::Bool( [INFO] [stdout] 170 | | left_value.is_less(&right_value) || left_value.is_equal(&right_value), [INFO] [stdout] 171 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 169 ~ Ok(Object::Bool( [INFO] [stdout] 170 + left_value.is_less(&right_value) || left_value.is_equal(&right_value), [INFO] [stdout] 171 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:189:25 [INFO] [stdout] | [INFO] [stdout] 189 | return Ok(Object::Number(n1 + n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 189 - return Ok(Object::Number(n1 + n2)); [INFO] [stdout] 189 + Ok(Object::Number(n1 + n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:198:25 [INFO] [stdout] | [INFO] [stdout] 198 | return Ok(Object::Number(n1 - n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 198 - return Ok(Object::Number(n1 - n2)); [INFO] [stdout] 198 + Ok(Object::Number(n1 - n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | return Ok(Object::Number(n1 * n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Ok(Object::Number(n1 * n2)); [INFO] [stdout] 208 + Ok(Object::Number(n1 * n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | return Ok(Object::Number(n1 / n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return Ok(Object::Number(n1 / n2)); [INFO] [stdout] 223 + Ok(Object::Number(n1 / n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 228 | | line: binary_expression.operator.line, [INFO] [stdout] 229 | | location: binary_expression.operator.lexeme.clone(), [INFO] [stdout] 230 | | message: format!("Unknown binary operator"), [INFO] [stdout] 231 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 228 + line: binary_expression.operator.line, [INFO] [stdout] 229 + location: binary_expression.operator.lexeme.clone(), [INFO] [stdout] 230 + message: format!("Unknown binary operator"), [INFO] [stdout] 231 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | return group_expression.expression.evaluate(environment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return group_expression.expression.evaluate(environment); [INFO] [stdout] 236 + group_expression.expression.evaluate(environment) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:238:56 [INFO] [stdout] | [INFO] [stdout] 238 | Expression::Literal(literal_expression) => return Ok(literal_expression.value.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 238 - Expression::Literal(literal_expression) => return Ok(literal_expression.value.clone()), [INFO] [stdout] 238 + Expression::Literal(literal_expression) => Ok(literal_expression.value.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:244:25 [INFO] [stdout] | [INFO] [stdout] 244 | return Ok(Object::Bool(!right_value.is_truthy())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 244 - return Ok(Object::Bool(!right_value.is_truthy())); [INFO] [stdout] 244 + Ok(Object::Bool(!right_value.is_truthy())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | return Ok(Object::Number(-n1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 250 - return Ok(Object::Number(-n1)); [INFO] [stdout] 250 + Ok(Object::Number(-n1)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:253:25 [INFO] [stdout] | [INFO] [stdout] 253 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 254 | | line: unary_expression.operator.line, [INFO] [stdout] 255 | | location: unary_expression.operator.lexeme.clone(), [INFO] [stdout] 256 | | message: format!("Unknown unary operator"), [INFO] [stdout] 257 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 254 + line: unary_expression.operator.line, [INFO] [stdout] 255 + location: unary_expression.operator.lexeme.clone(), [INFO] [stdout] 256 + message: format!("Unknown unary operator"), [INFO] [stdout] 257 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:265:21 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 265 - return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] 265 + Ok(ternary_expression.if_true.evaluate(environment.clone())?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 267 - return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] 267 + Ok(ternary_expression.if_false.evaluate(environment.clone())?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 287 - return Ok(value); [INFO] [stdout] 287 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return Ok(value); [INFO] [stdout] 292 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 295 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 296 | | line: variable_expression.token.line, [INFO] [stdout] 297 | | location: variable_expression.token.lexeme.clone(), [INFO] [stdout] 298 | | message: format!("Failed to get local scope memory"), [INFO] [stdout] 299 | | })); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 295 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 296 + line: variable_expression.token.line, [INFO] [stdout] 297 + location: variable_expression.token.lexeme.clone(), [INFO] [stdout] 298 + message: format!("Failed to get local scope memory"), [INFO] [stdout] 299 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:332:17 [INFO] [stdout] | [INFO] [stdout] 332 | return Ok(Object::Bool(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 332 - return Ok(Object::Bool(false)); [INFO] [stdout] 332 + Ok(Object::Bool(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | return function.call(arguments); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 355 - return function.call(arguments); [INFO] [stdout] 355 + function.call(arguments) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:358:25 [INFO] [stdout] | [INFO] [stdout] 358 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 359 | | line: call_expression.paren.line, [INFO] [stdout] 360 | | location: "(".to_owned(), [INFO] [stdout] 361 | | message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] 362 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 358 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 359 + line: call_expression.paren.line, [INFO] [stdout] 360 + location: "(".to_owned(), [INFO] [stdout] 361 + message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] 362 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:373:17 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(Object::Table(Arc::new(Mutex::new(Table { values })))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 373 - return Ok(Object::Table(Arc::new(Mutex::new(Table { values })))); [INFO] [stdout] 373 + Ok(Object::Table(Arc::new(Mutex::new(Table { values })))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:383:33 [INFO] [stdout] | [INFO] [stdout] 383 | / ... return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 384 | | ... line: key_access.left_bracket.line, [INFO] [stdout] 385 | | ... location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 386 | | ... message: format!("Key must be a string"), [INFO] [stdout] 387 | | ... })); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 383 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 384 + line: key_access.left_bracket.line, [INFO] [stdout] 385 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 386 + message: format!("Key must be a string"), [INFO] [stdout] 387 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:391:29 [INFO] [stdout] | [INFO] [stdout] 391 | / ... return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 392 | | ... line: key_access.left_bracket.line, [INFO] [stdout] 393 | | ... location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 394 | | ... message: format!("Failed to lock table"), [INFO] [stdout] 395 | | ... })); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 391 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 392 + line: key_access.left_bracket.line, [INFO] [stdout] 393 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 394 + message: format!("Failed to lock table"), [INFO] [stdout] 395 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 400 | | line: key_access.left_bracket.line, [INFO] [stdout] 401 | | location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 402 | | message: format!("Key access expression can only be used on tables"), [INFO] [stdout] 403 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 399 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 400 + line: key_access.left_bracket.line, [INFO] [stdout] 401 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 402 + message: format!("Key access expression can only be used on tables"), [INFO] [stdout] 403 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | return Ok(Object::Nil); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 453 - return Ok(Object::Nil); [INFO] [stdout] 453 + Ok(Object::Nil) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:220:42 [INFO] [stdout] | [INFO] [stdout] 220 | ... message: format!("Cannot divide by zero"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Cannot divide by zero".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:230:38 [INFO] [stdout] | [INFO] [stdout] 230 | ... message: format!("Unknown binary operator"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unknown binary operator".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:256:38 [INFO] [stdout] | [INFO] [stdout] 256 | ... message: format!("Unknown unary operator"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unknown unary operator".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/noa/expression.rs:265:28 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 265 - return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] 265 + return ternary_expression.if_true.evaluate(environment.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/noa/expression.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 267 - return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] 267 + return ternary_expression.if_false.evaluate(environment.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:283:38 [INFO] [stdout] | [INFO] [stdout] 283 | ... message: format!("Failed to get local scope memory"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to get local scope memory".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:298:34 [INFO] [stdout] | [INFO] [stdout] 298 | message: format!("Failed to get local scope memory"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to get local scope memory".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:361:74 [INFO] [stdout] | [INFO] [stdout] 361 | ... message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:386:46 [INFO] [stdout] | [INFO] [stdout] 386 | ... message: format!("Key must be a string"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key must be a string".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:394:42 [INFO] [stdout] | [INFO] [stdout] 394 | ... message: format!("Failed to lock table"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to lock table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:402:38 [INFO] [stdout] | [INFO] [stdout] 402 | ... message: format!("Key access expression can only be used on tables"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key access expression can only be used on tables".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/expression.rs:408:17 [INFO] [stdout] | [INFO] [stdout] 408 | / match *key_access_assignment.key_access.clone() { [INFO] [stdout] 409 | | Expression::KeyAccess(key_access) => { [INFO] [stdout] 410 | | let key = key_access.key.evaluate(environment.clone())?; [INFO] [stdout] 411 | | let value = key_access_assignment [INFO] [stdout] ... | [INFO] [stdout] 450 | | _ => {} [INFO] [stdout] 451 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 408 ~ if let Expression::KeyAccess(key_access) = *key_access_assignment.key_access.clone() { [INFO] [stdout] 409 + let key = key_access.key.evaluate(environment.clone())?; [INFO] [stdout] 410 + let value = key_access_assignment [INFO] [stdout] 411 + .expression [INFO] [stdout] 412 + .evaluate(environment.clone())?; [INFO] [stdout] 413 + match key { [INFO] [stdout] 414 + Object::String(key) => { [INFO] [stdout] 415 + let target = key_access.target.evaluate(environment.clone())?; [INFO] [stdout] 416 + match target { [INFO] [stdout] 417 + Object::Table(mutex) => match mutex.lock() { [INFO] [stdout] 418 + Ok(mut table) => { [INFO] [stdout] 419 + table.set_value(key, value); [INFO] [stdout] 420 + } [INFO] [stdout] 421 + Err(_) => { [INFO] [stdout] 422 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 423 + line: key_access.left_bracket.line, [INFO] [stdout] 424 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 425 + message: format!("Failed to lock table"), [INFO] [stdout] 426 + })); [INFO] [stdout] 427 + } [INFO] [stdout] 428 + }, [INFO] [stdout] 429 + _ => { [INFO] [stdout] 430 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 431 + line: key_access.left_bracket.line, [INFO] [stdout] 432 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 433 + message: format!( [INFO] [stdout] 434 + "Key access expression can only be used on tables" [INFO] [stdout] 435 + ), [INFO] [stdout] 436 + })); [INFO] [stdout] 437 + } [INFO] [stdout] 438 + } [INFO] [stdout] 439 + } [INFO] [stdout] 440 + _ => { [INFO] [stdout] 441 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 442 + line: key_access.left_bracket.line, [INFO] [stdout] 443 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 444 + message: format!("Key must be a string"), [INFO] [stdout] 445 + })); [INFO] [stdout] 446 + } [INFO] [stdout] 447 + } [INFO] [stdout] 448 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:426:58 [INFO] [stdout] | [INFO] [stdout] 426 | ... message: format!("Failed to lock table"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to lock table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:434:54 [INFO] [stdout] | [INFO] [stdout] 434 | ... message: format!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 435 | | ... "Key access expression can only be used on tables" [INFO] [stdout] 436 | | ... ), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Key access expression can only be used on tables".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:445:46 [INFO] [stdout] | [INFO] [stdout] 445 | ... message: format!("Key must be a string"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key must be a string".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | / return self.parenthesize( [INFO] [stdout] 461 | | &String::from("ternary"), [INFO] [stdout] 462 | | &[ [INFO] [stdout] 463 | | ternary.check.clone(), [INFO] [stdout] ... | [INFO] [stdout] 466 | | ], [INFO] [stdout] 467 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 460 ~ self.parenthesize( [INFO] [stdout] 461 + &String::from("ternary"), [INFO] [stdout] 462 + &[ [INFO] [stdout] 463 + ternary.check.clone(), [INFO] [stdout] 464 + ternary.if_false.clone(), [INFO] [stdout] 465 + ternary.if_true.clone(), [INFO] [stdout] 466 + ], [INFO] [stdout] 467 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | / return self.parenthesize( [INFO] [stdout] 471 | | &binary.operator.lexeme, [INFO] [stdout] 472 | | &[binary.left.clone(), binary.right.clone()], [INFO] [stdout] 473 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 470 ~ self.parenthesize( [INFO] [stdout] 471 + &binary.operator.lexeme, [INFO] [stdout] 472 + &[binary.left.clone(), binary.right.clone()], [INFO] [stdout] 473 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] 476 + self.parenthesize(&String::from("group"), &[group.expression.clone()]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:478:45 [INFO] [stdout] | [INFO] [stdout] 478 | Expression::Literal(literal) => return literal.value.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 478 - Expression::Literal(literal) => return literal.value.to_string(), [INFO] [stdout] 478 + Expression::Literal(literal) => literal.value.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:480:17 [INFO] [stdout] | [INFO] [stdout] 480 | return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 480 - return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] 480 + self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:483:17 [INFO] [stdout] | [INFO] [stdout] 483 | / return self.parenthesize( [INFO] [stdout] 484 | | &format!("{} =", assgin_expression.token.lexeme), [INFO] [stdout] 485 | | &[assgin_expression.expression.clone()], [INFO] [stdout] 486 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 483 ~ self.parenthesize( [INFO] [stdout] 484 + &format!("{} =", assgin_expression.token.lexeme), [INFO] [stdout] 485 + &[assgin_expression.expression.clone()], [INFO] [stdout] 486 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | return format!("var {}", variable_expression.token.lexeme); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 489 - return format!("var {}", variable_expression.token.lexeme); [INFO] [stdout] 489 + format!("var {}", variable_expression.token.lexeme) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | / return self.parenthesize( [INFO] [stdout] 493 | | &format!("= {}", logical_expression.operator.lexeme), [INFO] [stdout] 494 | | &[ [INFO] [stdout] 495 | | logical_expression.left.clone(), [INFO] [stdout] 496 | | logical_expression.right.clone(), [INFO] [stdout] 497 | | ], [INFO] [stdout] 498 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 492 ~ self.parenthesize( [INFO] [stdout] 493 + &format!("= {}", logical_expression.operator.lexeme), [INFO] [stdout] 494 + &[ [INFO] [stdout] 495 + logical_expression.left.clone(), [INFO] [stdout] 496 + logical_expression.right.clone(), [INFO] [stdout] 497 + ], [INFO] [stdout] 498 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:506:17 [INFO] [stdout] | [INFO] [stdout] 506 | return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 506 - return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] 506 + self.parenthesize(&format!("call"), &expressions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:514:17 [INFO] [stdout] | [INFO] [stdout] 514 | return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 514 - return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] 514 + self.parenthesize(&format!("table"), &expressions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:517:17 [INFO] [stdout] | [INFO] [stdout] 517 | / return self.parenthesize( [INFO] [stdout] 518 | | &format!("[]"), [INFO] [stdout] 519 | | &[key_access.target.clone(), key_access.key.clone()], [INFO] [stdout] 520 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 517 ~ self.parenthesize( [INFO] [stdout] 518 + &format!("[]"), [INFO] [stdout] 519 + &[key_access.target.clone(), key_access.key.clone()], [INFO] [stdout] 520 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | / return self.parenthesize( [INFO] [stdout] 524 | | &format!("[] ="), [INFO] [stdout] 525 | | &[ [INFO] [stdout] 526 | | table_assgin_expression.key_access.clone(), [INFO] [stdout] 527 | | table_assgin_expression.expression.clone(), [INFO] [stdout] 528 | | ], [INFO] [stdout] 529 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 523 ~ self.parenthesize( [INFO] [stdout] 524 + &format!("[] ="), [INFO] [stdout] 525 + &[ [INFO] [stdout] 526 + table_assgin_expression.key_access.clone(), [INFO] [stdout] 527 + table_assgin_expression.expression.clone(), [INFO] [stdout] 528 + ], [INFO] [stdout] 529 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:476:66 [INFO] [stdout] | [INFO] [stdout] 476 | return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&group.expression)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] = note: `#[warn(clippy::cloned_ref_to_slice_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:480:66 [INFO] [stdout] | [INFO] [stdout] 480 | return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&unary.right)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:485:21 [INFO] [stdout] | [INFO] [stdout] 485 | &[assgin_expression.expression.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&assgin_expression.expression)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:506:43 [INFO] [stdout] | [INFO] [stdout] 506 | return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"call".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:514:43 [INFO] [stdout] | [INFO] [stdout] 514 | return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:518:22 [INFO] [stdout] | [INFO] [stdout] 518 | &format!("[]"), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:524:22 [INFO] [stdout] | [INFO] [stdout] 524 | &format!("[] ="), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[] =".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 19 | | line: 0, [INFO] [stdout] 20 | | location: "N/A".to_owned(), [INFO] [stdout] 21 | | message: "Failed to lock table".to_owned(), [INFO] [stdout] 22 | | })); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 19 + line: 0, [INFO] [stdout] 20 + location: "N/A".to_owned(), [INFO] [stdout] 21 + message: "Failed to lock table".to_owned(), [INFO] [stdout] 22 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 27 | | line: 0, [INFO] [stdout] 28 | | location: "N/A".to_owned(), [INFO] [stdout] 29 | | message: "len can only be called on strings and tables".to_owned(), [INFO] [stdout] 30 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 27 + line: 0, [INFO] [stdout] 28 + location: "N/A".to_owned(), [INFO] [stdout] 29 + message: "len can only be called on strings and tables".to_owned(), [INFO] [stdout] 30 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/generic.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn len(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - pub fn len(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 12 + pub fn len(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 42 | | line: 0, [INFO] [stdout] 43 | | location: first.to_string(), [INFO] [stdout] 44 | | message: format!("{} is not a number", first.to_string()), [INFO] [stdout] 45 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 42 + line: 0, [INFO] [stdout] 43 + location: first.to_string(), [INFO] [stdout] 44 + message: format!("{} is not a number", first.to_string()), [INFO] [stdout] 45 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/generic.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn exit(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 35 - pub fn exit(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 35 + pub fn exit(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/generic.rs:44:61 [INFO] [stdout] | [INFO] [stdout] 44 | message: format!("{} is not a number", first.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/interpreter.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / return Interpreter { [INFO] [stdout] 18 | | environment: Arc::new(Mutex::new(Environment::new())), [INFO] [stdout] 19 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 ~ Interpreter { [INFO] [stdout] 18 + environment: Arc::new(Mutex::new(Environment::new())), [INFO] [stdout] 19 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/interpreter.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | / match statement.execute(self.environment.clone()) { [INFO] [stdout] 32 | | Err(e) => match e { [INFO] [stdout] 33 | | crate::noa::error::NoaTermination::Error(noa_error) => return Err(noa_error), [INFO] [stdout] 34 | | super::error::NoaTermination::Return(_) => { [INFO] [stdout] ... | [INFO] [stdout] 57 | | _ => {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 31 ~ if let Err(e) = statement.execute(self.environment.clone()) { match e { [INFO] [stdout] 32 + crate::noa::error::NoaTermination::Error(noa_error) => return Err(noa_error), [INFO] [stdout] 33 + super::error::NoaTermination::Return(_) => { [INFO] [stdout] 34 + return Err(NoaError { [INFO] [stdout] 35 + line: 0, [INFO] [stdout] 36 + location: String::from("return"), [INFO] [stdout] 37 + message: String::from("return can only be used inside a function"), [INFO] [stdout] 38 + }); [INFO] [stdout] 39 + } [INFO] [stdout] 40 + super::error::NoaTermination::Break => { [INFO] [stdout] 41 + return Err(NoaError { [INFO] [stdout] 42 + line: 0, [INFO] [stdout] 43 + location: String::from("break"), [INFO] [stdout] 44 + message: String::from("break can only be used loops"), [INFO] [stdout] 45 + }); [INFO] [stdout] 46 + } [INFO] [stdout] 47 + super::error::NoaTermination::Continue => { [INFO] [stdout] 48 + return Err(NoaError { [INFO] [stdout] 49 + line: 0, [INFO] [stdout] 50 + location: String::from("continue"), [INFO] [stdout] 51 + message: String::from("continue can only be used loops"), [INFO] [stdout] 52 + }); [INFO] [stdout] 53 + } [INFO] [stdout] 54 + super::error::NoaTermination::Exit(num) => return Ok(num), [INFO] [stdout] 55 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `print!` args [INFO] [stdout] --> src/noa/io.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | print!("{}", arg.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `print!` args [INFO] [stdout] --> src/noa/io.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | print!("{}", arg.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/noa/io.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return Parser { tokens, current: 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Parser { tokens, current: 0 }; [INFO] [stdout] 23 + Parser { tokens, current: 0 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(statements); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(statements); [INFO] [stdout] 54 + Ok(statements) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/parser.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | location: format!( [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 41 | | "{}", [INFO] [stdout] 42 | | if self.peek().token_type == TokenType::EOF { [INFO] [stdout] 43 | | "eof" [INFO] [stdout] ... | [INFO] [stdout] 47 | | ), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 40 ~ location: (if self.peek().token_type == TokenType::EOF { [INFO] [stdout] 41 + "eof" [INFO] [stdout] 42 + } else { [INFO] [stdout] 43 + &self.peek().lexeme [INFO] [stdout] 44 ~ }).to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | return self.parse_statement(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return self.parse_statement(); [INFO] [stdout] 65 + self.parse_statement() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / return Ok(Statement::Var(VarStatement { [INFO] [stdout] 83 | | initializer, [INFO] [stdout] 84 | | identifier: identifier, [INFO] [stdout] 85 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Ok(Statement::Var(VarStatement { [INFO] [stdout] 83 + initializer, [INFO] [stdout] 84 + identifier: identifier, [INFO] [stdout] 85 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | / return Ok(Statement::Function(FunctionStatement { [INFO] [stdout] 120 | | name: name.clone(), [INFO] [stdout] 121 | | params: parameters, [INFO] [stdout] 122 | | body: Box::new(body), [INFO] [stdout] 123 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 ~ Ok(Statement::Function(FunctionStatement { [INFO] [stdout] 120 + name: name.clone(), [INFO] [stdout] 121 + params: parameters, [INFO] [stdout] 122 + body: Box::new(body), [INFO] [stdout] 123 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return self.parse_expression_statement(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return self.parse_expression_statement(); [INFO] [stdout] 147 + self.parse_expression_statement() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | / return Ok(Statement::Return(ReturnStatement { [INFO] [stdout] 163 | | keyword: token, [INFO] [stdout] 164 | | value: Box::new(expr), [INFO] [stdout] 165 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 162 ~ Ok(Statement::Return(ReturnStatement { [INFO] [stdout] 163 + keyword: token, [INFO] [stdout] 164 + value: Box::new(expr), [INFO] [stdout] 165 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return Ok(Statement::If(IfStatement { [INFO] [stdout] 191 | | check: Box::new(expression), [INFO] [stdout] 192 | | if_true: Box::new(if_true), [INFO] [stdout] 193 | | if_false: None, [INFO] [stdout] 194 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ Ok(Statement::If(IfStatement { [INFO] [stdout] 191 + check: Box::new(expression), [INFO] [stdout] 192 + if_true: Box::new(if_true), [INFO] [stdout] 193 + if_false: None, [INFO] [stdout] 194 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | / return Ok(Statement::While(WhileStatement { [INFO] [stdout] 210 | | check: Box::new(expression), [INFO] [stdout] 211 | | if_true: Box::new(if_true), [INFO] [stdout] 212 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 209 ~ Ok(Statement::While(WhileStatement { [INFO] [stdout] 210 + check: Box::new(expression), [INFO] [stdout] 211 + if_true: Box::new(if_true), [INFO] [stdout] 212 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | / return Ok(Statement::Block(BlockStatement { [INFO] [stdout] 261 | | statements: vec![ [INFO] [stdout] 262 | | initializer, [INFO] [stdout] 263 | | Statement::While(WhileStatement { [INFO] [stdout] ... | [INFO] [stdout] 274 | | ], [INFO] [stdout] 275 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 260 ~ Ok(Statement::Block(BlockStatement { [INFO] [stdout] 261 + statements: vec![ [INFO] [stdout] 262 + initializer, [INFO] [stdout] 263 + Statement::While(WhileStatement { [INFO] [stdout] 264 + check: Box::new(check), [INFO] [stdout] 265 + if_true: Box::new(Statement::Block(BlockStatement { [INFO] [stdout] 266 + statements: vec![ [INFO] [stdout] 267 + if_true, [INFO] [stdout] 268 + Statement::Expression(ExpressionStatement { [INFO] [stdout] 269 + expression: Box::new(post_loop), [INFO] [stdout] 270 + }), [INFO] [stdout] 271 + ], [INFO] [stdout] 272 + })), [INFO] [stdout] 273 + }), [INFO] [stdout] 274 + ], [INFO] [stdout] 275 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | / return Ok(Statement::Block(BlockStatement { [INFO] [stdout] 288 | | statements: statements, [INFO] [stdout] 289 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 287 ~ Ok(Statement::Block(BlockStatement { [INFO] [stdout] 288 + statements: statements, [INFO] [stdout] 289 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:299:9 [INFO] [stdout] | [INFO] [stdout] 299 | / return Ok(Statement::Expression(ExpressionStatement { [INFO] [stdout] 300 | | expression: Box::new(expr), [INFO] [stdout] 301 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 299 ~ Ok(Statement::Expression(ExpressionStatement { [INFO] [stdout] 300 + expression: Box::new(expr), [INFO] [stdout] 301 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | return self.peek().token_type == TokenType::EOF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return self.peek().token_type == TokenType::EOF; [INFO] [stdout] 305 + self.peek().token_type == TokenType::EOF [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | return &self.tokens[self.current]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 308 - return &self.tokens[self.current]; [INFO] [stdout] 308 + &self.tokens[self.current] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | return self.peek().token_type == *token_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 315 - return self.peek().token_type == *token_type; [INFO] [stdout] 315 + self.peek().token_type == *token_type [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | return self.tokens[self.current - 1].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 318 - return self.tokens[self.current - 1].clone(); [INFO] [stdout] 318 + self.tokens[self.current - 1].clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | return self.previous(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 325 - return self.previous(); [INFO] [stdout] 325 + self.previous() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 335 - return false; [INFO] [stdout] 335 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return self.parse_assignment(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 339 - return self.parse_assignment(); [INFO] [stdout] 339 + self.parse_assignment() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 365 - return Ok(expr); [INFO] [stdout] 365 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 381 - return Ok(expr); [INFO] [stdout] 381 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 397 - return Ok(expr); [INFO] [stdout] 397 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return Ok(expr); [INFO] [stdout] 417 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return Ok(expr); [INFO] [stdout] 433 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 454 - return Ok(expr); [INFO] [stdout] 454 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:470:9 [INFO] [stdout] | [INFO] [stdout] 470 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 470 - return Ok(expr); [INFO] [stdout] 470 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 486 - return Ok(expr); [INFO] [stdout] 486 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | return self.parse_call_or_key_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 499 - return self.parse_call_or_key_access(); [INFO] [stdout] 499 + self.parse_call_or_key_access() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | return Ok(expression); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 515 - return Ok(expression); [INFO] [stdout] 515 + Ok(expression) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:538:9 [INFO] [stdout] | [INFO] [stdout] 538 | / return Ok(Expression::Call(CallExpression { [INFO] [stdout] 539 | | callee: Box::new(expression), [INFO] [stdout] 540 | | paren: paren.clone(), [INFO] [stdout] 541 | | arguments: arguments, [INFO] [stdout] 542 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 538 ~ Ok(Expression::Call(CallExpression { [INFO] [stdout] 539 + callee: Box::new(expression), [INFO] [stdout] 540 + paren: paren.clone(), [INFO] [stdout] 541 + arguments: arguments, [INFO] [stdout] 542 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | / return Ok(Expression::KeyAccess(KeyAccessExpression { [INFO] [stdout] 552 | | target: Box::new(expression), [INFO] [stdout] 553 | | left_bracket: self.previous().clone(), [INFO] [stdout] 554 | | key: Box::new(key), [INFO] [stdout] 555 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 551 ~ Ok(Expression::KeyAccess(KeyAccessExpression { [INFO] [stdout] 552 + target: Box::new(expression), [INFO] [stdout] 553 + left_bracket: self.previous().clone(), [INFO] [stdout] 554 + key: Box::new(key), [INFO] [stdout] 555 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:609:9 [INFO] [stdout] | [INFO] [stdout] 609 | return Err(format!("Unexpected token")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 609 - return Err(format!("Unexpected token")); [INFO] [stdout] 609 + Err(format!("Unexpected token")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/parser.rs:609:20 [INFO] [stdout] | [INFO] [stdout] 609 | return Err(format!("Unexpected token")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unexpected token".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:630:9 [INFO] [stdout] | [INFO] [stdout] 630 | return Ok(Expression::Table(TableExpression { values: map })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 630 - return Ok(Expression::Table(TableExpression { values: map })); [INFO] [stdout] 630 + Ok(Expression::Table(TableExpression { values: map })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 646 - return Ok(expr); [INFO] [stdout] 646 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | return Err(message); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 653 - return Err(message); [INFO] [stdout] 653 + Err(message) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / return Scanner { [INFO] [stdout] 40 | | keywords: keywords, [INFO] [stdout] 41 | | source: source, [INFO] [stdout] 42 | | tokens: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 45 | | line: 1, [INFO] [stdout] 46 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 ~ Scanner { [INFO] [stdout] 40 + keywords: keywords, [INFO] [stdout] 41 + source: source, [INFO] [stdout] 42 + tokens: Vec::new(), [INFO] [stdout] 43 + start: 0, [INFO] [stdout] 44 + current: 0, [INFO] [stdout] 45 + line: 1, [INFO] [stdout] 46 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/noa/scanner.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if token.lexeme.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!token.lexeme.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | return self.current >= self.source.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return self.current >= self.source.len(); [INFO] [stdout] 62 + self.current >= self.source.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return Ok(()); [INFO] [stdout] 82 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/noa/expression.rs:351:30 [INFO] [stdout] | [INFO] [stdout] 351 | for (i, arg) in call_expression.arguments.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TokenType` which implements the `Copy` trait [INFO] [stdout] --> src/noa/scanner.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | let token_type: TokenType = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 109 | | .keywords [INFO] [stdout] 110 | | .get(value) [INFO] [stdout] 111 | | .unwrap_or(&TokenType::Identifier) [INFO] [stdout] 112 | | .clone(); [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 108 ~ let token_type: TokenType = *self [INFO] [stdout] 109 + .keywords [INFO] [stdout] 110 + .get(value) [INFO] [stdout] 111 ~ .unwrap_or(&TokenType::Identifier); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/noa/scanner.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while !(self.peek() == '*' && self.peek_next() == '/') && !self.is_at_end() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(self.is_at_end() || self.peek() == '*' && self.peek_next() == '/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:154:15 [INFO] [stdout] | [INFO] [stdout] 154 | while self.peek().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:157:34 [INFO] [stdout] | [INFO] [stdout] 157 | if self.peek() == '.' && self.peek_next().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek_next().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:159:19 [INFO] [stdout] | [INFO] [stdout] 159 | while self.peek().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return Ok(()); [INFO] [stdout] 245 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | if c.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | return self.source.chars().nth(self.current - 1).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 265 - return self.source.chars().nth(self.current - 1).unwrap_or('\0'); [INFO] [stdout] 265 + self.source.chars().nth(self.current - 1).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | return self.source.chars().nth(self.current).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return self.source.chars().nth(self.current).unwrap_or('\0'); [INFO] [stdout] 272 + self.source.chars().nth(self.current).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | return self.source.chars().nth(self.current + 1).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return self.source.chars().nth(self.current + 1).unwrap_or('\0'); [INFO] [stdout] 282 + self.source.chars().nth(self.current + 1).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return true; [INFO] [stdout] 294 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/statement.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(()); [INFO] [stdout] 132 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/statement.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(NoaTermination::Return(value)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return Err(NoaTermination::Return(value)); [INFO] [stdout] 180 + Err(NoaTermination::Return(value)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:84:38 [INFO] [stdout] | [INFO] [stdout] 84 | ... message: format!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 85 | | ... "Failed to get local scope memory to assign the value" [INFO] [stdout] 86 | | ... ), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Failed to get local scope memory to assign the value".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:101:39 [INFO] [stdout] | [INFO] [stdout] 101 | ... location: format!("N/A"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"N/A".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:102:38 [INFO] [stdout] | [INFO] [stdout] 102 | ... message: format!("Unable to create local scope for block"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to create local scope for block".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/string.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn str(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 - pub fn str(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 9 + pub fn str(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/string.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 29 | | line: 0, [INFO] [stdout] 30 | | location: first.to_string(), [INFO] [stdout] 31 | | message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] 32 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 29 + line: 0, [INFO] [stdout] 30 + location: first.to_string(), [INFO] [stdout] 31 + message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] 32 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/string.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | arguments: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 14 - arguments: &Vec, [INFO] [stdout] 14 + arguments: &[Object], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/string.rs:31:72 [INFO] [stdout] | [INFO] [stdout] 31 | message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/noa/token.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/token.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | return format!("{:?} {} {}", self.token_type, self.lexeme, self.line); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return format!("{:?} {} {}", self.token_type, self.lexeme, self.line); [INFO] [stdout] 67 + format!("{:?} {} {}", self.token_type, self.lexeme, self.line) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/noa/types.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub callback: Option< [INFO] [stdout] | ___________________^ [INFO] [stdout] 17 | | fn( [INFO] [stdout] 18 | | arguments: &Vec, [INFO] [stdout] 19 | | environment: Arc>, [INFO] [stdout] 20 | | ) -> Result, [INFO] [stdout] 21 | | >, [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(Object::Nil); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(Object::Nil); [INFO] [stdout] 54 + Ok(Object::Nil) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / match self.callback { [INFO] [stdout] 33 | | Some(callback) => { [INFO] [stdout] 34 | | return callback(&arguments, environment); [INFO] [stdout] ... | [INFO] [stdout] 37 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 32 ~ if let Some(callback) = self.callback { [INFO] [stdout] 33 + return callback(&arguments, environment); [INFO] [stdout] 34 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / match &self.body { [INFO] [stdout] 40 | | Some(block) => match block.execute(environment) { [INFO] [stdout] 41 | | Err(e) => match e { [INFO] [stdout] 42 | | NoaTermination::Return(object) => { [INFO] [stdout] ... | [INFO] [stdout] 51 | | None => {} [INFO] [stdout] 52 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 39 ~ if let Some(block) = &self.body { match block.execute(environment) { [INFO] [stdout] 40 + Err(e) => match e { [INFO] [stdout] 41 + NoaTermination::Return(object) => { [INFO] [stdout] 42 + return Ok(object); [INFO] [stdout] 43 + } [INFO] [stdout] 44 + _ => { [INFO] [stdout] 45 + return Err(e); [INFO] [stdout] 46 + } [INFO] [stdout] 47 + }, [INFO] [stdout] 48 + _ => {} [INFO] [stdout] 49 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | Some(block) => match block.execute(environment) { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 41 | | Err(e) => match e { [INFO] [stdout] 42 | | NoaTermination::Return(object) => { [INFO] [stdout] 43 | | return Ok(object); [INFO] [stdout] ... | [INFO] [stdout] 49 | | _ => {} [INFO] [stdout] 50 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 40 ~ Some(block) => if let Err(e) = block.execute(environment) { match e { [INFO] [stdout] 41 + NoaTermination::Return(object) => { [INFO] [stdout] 42 + return Ok(object); [INFO] [stdout] 43 + } [INFO] [stdout] 44 + _ => { [INFO] [stdout] 45 + return Err(e); [INFO] [stdout] 46 + } [INFO] [stdout] 47 ~ } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | return value.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return value.clone(); [INFO] [stdout] 67 + value.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | return *num == 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return *num == 0.0; [INFO] [stdout] 91 + *num == 0.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:93:36 [INFO] [stdout] | [INFO] [stdout] 93 | Object::String(str) => return !str.is_empty(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - Object::String(str) => return !str.is_empty(), [INFO] [stdout] 93 + Object::String(str) => !str.is_empty(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | return *b; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return *b; [INFO] [stdout] 95 + *b [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return false; [INFO] [stdout] 98 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | Object::Function(_) => return true, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - Object::Function(_) => return true, [INFO] [stdout] 100 + Object::Function(_) => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | Object::Table(_) => return true, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - Object::Table(_) => return true, [INFO] [stdout] 101 + Object::Table(_) => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | return num1 == num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return num1 == num2; [INFO] [stdout] 119 + num1 == num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:122:21 [INFO] [stdout] | [INFO] [stdout] 122 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 122 - return false; [INFO] [stdout] 122 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | return str2 == str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return str2 == str; [INFO] [stdout] 127 + str2 == str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return false; [INFO] [stdout] 131 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | return b == b2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 136 - return b == b2; [INFO] [stdout] 136 + b == b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return false; [INFO] [stdout] 140 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 - return false; [INFO] [stdout] 144 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | return num1 > num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return num1 > num2; [INFO] [stdout] 152 + num1 > num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - return false; [INFO] [stdout] 155 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:160:21 [INFO] [stdout] | [INFO] [stdout] 160 | return str2 > str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return str2 > str; [INFO] [stdout] 160 + str2 > str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 164 - return false; [INFO] [stdout] 164 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:169:21 [INFO] [stdout] | [INFO] [stdout] 169 | return b > b2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 169 - return b > b2; [INFO] [stdout] 169 + b > b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return false; [INFO] [stdout] 173 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 177 - return false; [INFO] [stdout] 177 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | return num1 < num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 185 - return num1 < num2; [INFO] [stdout] 185 + num1 < num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 188 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 188 - return false; [INFO] [stdout] 188 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | return str2 < str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 193 - return str2 < str; [INFO] [stdout] 193 + str2 < str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 197 - return false; [INFO] [stdout] 197 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:202:21 [INFO] [stdout] | [INFO] [stdout] 202 | return b < b2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 202 - return b < b2; [INFO] [stdout] 202 + b < b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 206 - return false; [INFO] [stdout] 206 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 210 - return false; [INFO] [stdout] 210 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `write!` args [INFO] [stdout] --> src/noa/types.rs:229:57 [INFO] [stdout] | [INFO] [stdout] 229 | ... write!(f, "{}:{},", key, val.to_string())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Noa` [INFO] [stdout] --> src/noa/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | / pub fn new() -> Self { [INFO] [stdout] 36 | | return Noa { [INFO] [stdout] 37 | | interpreter: Interpreter::new(), [INFO] [stdout] 38 | | }; [INFO] [stdout] 39 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 34 + impl Default for Noa { [INFO] [stdout] 35 + fn default() -> Self { [INFO] [stdout] 36 + Self::new() [INFO] [stdout] 37 + } [INFO] [stdout] 38 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / return Noa { [INFO] [stdout] 37 | | interpreter: Interpreter::new(), [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 ~ Noa { [INFO] [stdout] 37 + interpreter: Interpreter::new(), [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | return Err(Self::report_noa_error(err)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return Err(Self::report_noa_error(err)); [INFO] [stdout] 125 + Err(Self::report_noa_error(err)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | return Err(Self::report_noa_error(err)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return Err(Self::report_noa_error(err)); [INFO] [stdout] 129 + Err(Self::report_noa_error(err)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(num); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(num); [INFO] [stdout] 132 + Ok(num) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | Err(_) => return Err("Failed to read the file".to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 143 - Err(_) => return Err("Failed to read the file".to_string()), [INFO] [stdout] 143 + Err(_) => Err("Failed to read the file".to_string()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / return format!( [INFO] [stdout] 148 | | "[line \"{}\"] Error at '{}': {}", [INFO] [stdout] 149 | | error.line, error.location, error.message [INFO] [stdout] 150 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 ~ format!( [INFO] [stdout] 148 + "[line \"{}\"] Error at '{}': {}", [INFO] [stdout] 149 + error.line, error.location, error.message [INFO] [stdout] 150 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/noa/types.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut environment = Arc::new(Mutex::new((environment))); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `synchronize` is never used [INFO] [stdout] --> src/noa/parser.rs:656:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 656 | fn synchronize(self: &mut Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `debug_print` is never used [INFO] [stdout] --> src/noa/scanner.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Scanner { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn debug_print(self: &Self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | / return Environment { [INFO] [stdout] 21 | | values: values, [INFO] [stdout] 22 | | enclosing: None, [INFO] [stdout] 23 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 ~ Environment { [INFO] [stdout] 21 + values: values, [INFO] [stdout] 22 + enclosing: None, [INFO] [stdout] 23 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | / return Ok(Self { [INFO] [stdout] 46 | | values: self.values.clone(), [INFO] [stdout] 47 | | enclosing: None, [INFO] [stdout] 48 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 ~ Ok(Self { [INFO] [stdout] 46 + values: self.values.clone(), [INFO] [stdout] 47 + enclosing: None, [INFO] [stdout] 48 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/environment.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / match self.enclosing.clone() { [INFO] [stdout] 27 | | Some(e) => match e.lock() { [INFO] [stdout] 28 | | Ok(mutex) => { [INFO] [stdout] 29 | | let enclose = mutex.snapshot()?; [INFO] [stdout] ... | [INFO] [stdout] 43 | | _ => {} [INFO] [stdout] 44 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 26 ~ if let Some(e) = self.enclosing.clone() { match e.lock() { [INFO] [stdout] 27 + Ok(mutex) => { [INFO] [stdout] 28 + let enclose = mutex.snapshot()?; [INFO] [stdout] 29 + return Ok(Self { [INFO] [stdout] 30 + values: self.values.clone(), [INFO] [stdout] 31 + enclosing: Some(Arc::new(Mutex::new(enclose))), [INFO] [stdout] 32 + }); [INFO] [stdout] 33 + } [INFO] [stdout] 34 + Err(_) => { [INFO] [stdout] 35 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 36 + line: 0, [INFO] [stdout] 37 + location: "N/A".to_owned(), [INFO] [stdout] 38 + message: "Failed to lock environemnt".to_owned(), [INFO] [stdout] 39 + })); [INFO] [stdout] 40 + } [INFO] [stdout] 41 ~ } }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/environment.rs:69:34 [INFO] [stdout] | [INFO] [stdout] 69 | message: format!("Unkown variable"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unkown variable".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:83:42 [INFO] [stdout] | [INFO] [stdout] 83 | Ok(mut enclosing) => return enclosing.get(token), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - Ok(mut enclosing) => return enclosing.get(token), [INFO] [stdout] 83 + Ok(mut enclosing) => enclosing.get(token), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/environment.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | message: format!("Unkown variable"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unkown variable".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/environment.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | Ok(mut enclosing) => return enclosing.get_by_string(key), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - Ok(mut enclosing) => return enclosing.get_by_string(key), [INFO] [stdout] 101 + Ok(mut enclosing) => enclosing.get_by_string(key), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return res; [INFO] [stdout] 116 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/noa/expression.rs:107:22 [INFO] [stdout] | [INFO] [stdout] 107 | res.push_str(&name); [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | return Ok(n); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 122 - return Ok(n); [INFO] [stdout] 122 + Ok(n) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 126 | | line: line, [INFO] [stdout] 127 | | location: format!("\"{}\"", object.to_string()), [INFO] [stdout] 128 | | message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] 129 | | })); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 126 + line: line, [INFO] [stdout] 127 + location: format!("\"{}\"", object.to_string()), [INFO] [stdout] 128 + message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] 129 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:127:55 [INFO] [stdout] | [INFO] [stdout] 127 | location: format!("\"{}\"", object.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:128:76 [INFO] [stdout] | [INFO] [stdout] 128 | message: format!("\"{}\" is not a valid number", object.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | return Ok(right_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 146 - return Ok(right_value); [INFO] [stdout] 146 + Ok(right_value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:150:25 [INFO] [stdout] | [INFO] [stdout] 150 | return Ok(Object::Bool(left_value.is_equal(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return Ok(Object::Bool(left_value.is_equal(&right_value))); [INFO] [stdout] 150 + Ok(Object::Bool(left_value.is_equal(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:153:25 [INFO] [stdout] | [INFO] [stdout] 153 | return Ok(Object::Bool(!left_value.is_equal(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return Ok(Object::Bool(!left_value.is_equal(&right_value))); [INFO] [stdout] 153 + Ok(Object::Bool(!left_value.is_equal(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | return Ok(Object::Bool(left_value.is_greater(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return Ok(Object::Bool(left_value.is_greater(&right_value))); [INFO] [stdout] 157 + Ok(Object::Bool(left_value.is_greater(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | / return Ok(Object::Bool( [INFO] [stdout] 161 | | left_value.is_greater(&right_value) [INFO] [stdout] 162 | | || left_value.is_equal(&right_value), [INFO] [stdout] 163 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 ~ Ok(Object::Bool( [INFO] [stdout] 161 + left_value.is_greater(&right_value) [INFO] [stdout] 162 + || left_value.is_equal(&right_value), [INFO] [stdout] 163 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:166:25 [INFO] [stdout] | [INFO] [stdout] 166 | return Ok(Object::Bool(left_value.is_less(&right_value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 166 - return Ok(Object::Bool(left_value.is_less(&right_value))); [INFO] [stdout] 166 + Ok(Object::Bool(left_value.is_less(&right_value))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:169:25 [INFO] [stdout] | [INFO] [stdout] 169 | / return Ok(Object::Bool( [INFO] [stdout] 170 | | left_value.is_less(&right_value) || left_value.is_equal(&right_value), [INFO] [stdout] 171 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 169 ~ Ok(Object::Bool( [INFO] [stdout] 170 + left_value.is_less(&right_value) || left_value.is_equal(&right_value), [INFO] [stdout] 171 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:189:25 [INFO] [stdout] | [INFO] [stdout] 189 | return Ok(Object::Number(n1 + n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 189 - return Ok(Object::Number(n1 + n2)); [INFO] [stdout] 189 + Ok(Object::Number(n1 + n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:198:25 [INFO] [stdout] | [INFO] [stdout] 198 | return Ok(Object::Number(n1 - n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 198 - return Ok(Object::Number(n1 - n2)); [INFO] [stdout] 198 + Ok(Object::Number(n1 - n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | return Ok(Object::Number(n1 * n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Ok(Object::Number(n1 * n2)); [INFO] [stdout] 208 + Ok(Object::Number(n1 * n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | return Ok(Object::Number(n1 / n2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return Ok(Object::Number(n1 / n2)); [INFO] [stdout] 223 + Ok(Object::Number(n1 / n2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:227:25 [INFO] [stdout] | [INFO] [stdout] 227 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 228 | | line: binary_expression.operator.line, [INFO] [stdout] 229 | | location: binary_expression.operator.lexeme.clone(), [INFO] [stdout] 230 | | message: format!("Unknown binary operator"), [INFO] [stdout] 231 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 228 + line: binary_expression.operator.line, [INFO] [stdout] 229 + location: binary_expression.operator.lexeme.clone(), [INFO] [stdout] 230 + message: format!("Unknown binary operator"), [INFO] [stdout] 231 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | return group_expression.expression.evaluate(environment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return group_expression.expression.evaluate(environment); [INFO] [stdout] 236 + group_expression.expression.evaluate(environment) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:238:56 [INFO] [stdout] | [INFO] [stdout] 238 | Expression::Literal(literal_expression) => return Ok(literal_expression.value.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 238 - Expression::Literal(literal_expression) => return Ok(literal_expression.value.clone()), [INFO] [stdout] 238 + Expression::Literal(literal_expression) => Ok(literal_expression.value.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:244:25 [INFO] [stdout] | [INFO] [stdout] 244 | return Ok(Object::Bool(!right_value.is_truthy())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 244 - return Ok(Object::Bool(!right_value.is_truthy())); [INFO] [stdout] 244 + Ok(Object::Bool(!right_value.is_truthy())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | return Ok(Object::Number(-n1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 250 - return Ok(Object::Number(-n1)); [INFO] [stdout] 250 + Ok(Object::Number(-n1)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:253:25 [INFO] [stdout] | [INFO] [stdout] 253 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 254 | | line: unary_expression.operator.line, [INFO] [stdout] 255 | | location: unary_expression.operator.lexeme.clone(), [INFO] [stdout] 256 | | message: format!("Unknown unary operator"), [INFO] [stdout] 257 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 254 + line: unary_expression.operator.line, [INFO] [stdout] 255 + location: unary_expression.operator.lexeme.clone(), [INFO] [stdout] 256 + message: format!("Unknown unary operator"), [INFO] [stdout] 257 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:265:21 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 265 - return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] 265 + Ok(ternary_expression.if_true.evaluate(environment.clone())?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 267 - return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] 267 + Ok(ternary_expression.if_false.evaluate(environment.clone())?) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 287 - return Ok(value); [INFO] [stdout] 287 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return Ok(value); [INFO] [stdout] 292 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 295 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 296 | | line: variable_expression.token.line, [INFO] [stdout] 297 | | location: variable_expression.token.lexeme.clone(), [INFO] [stdout] 298 | | message: format!("Failed to get local scope memory"), [INFO] [stdout] 299 | | })); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 295 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 296 + line: variable_expression.token.line, [INFO] [stdout] 297 + location: variable_expression.token.lexeme.clone(), [INFO] [stdout] 298 + message: format!("Failed to get local scope memory"), [INFO] [stdout] 299 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:332:17 [INFO] [stdout] | [INFO] [stdout] 332 | return Ok(Object::Bool(false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 332 - return Ok(Object::Bool(false)); [INFO] [stdout] 332 + Ok(Object::Bool(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | return function.call(arguments); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 355 - return function.call(arguments); [INFO] [stdout] 355 + function.call(arguments) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:358:25 [INFO] [stdout] | [INFO] [stdout] 358 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 359 | | line: call_expression.paren.line, [INFO] [stdout] 360 | | location: "(".to_owned(), [INFO] [stdout] 361 | | message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] 362 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 358 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 359 + line: call_expression.paren.line, [INFO] [stdout] 360 + location: "(".to_owned(), [INFO] [stdout] 361 + message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] 362 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:373:17 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(Object::Table(Arc::new(Mutex::new(Table { values })))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 373 - return Ok(Object::Table(Arc::new(Mutex::new(Table { values })))); [INFO] [stdout] 373 + Ok(Object::Table(Arc::new(Mutex::new(Table { values })))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:383:33 [INFO] [stdout] | [INFO] [stdout] 383 | / ... return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 384 | | ... line: key_access.left_bracket.line, [INFO] [stdout] 385 | | ... location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 386 | | ... message: format!("Key must be a string"), [INFO] [stdout] 387 | | ... })); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 383 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 384 + line: key_access.left_bracket.line, [INFO] [stdout] 385 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 386 + message: format!("Key must be a string"), [INFO] [stdout] 387 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:391:29 [INFO] [stdout] | [INFO] [stdout] 391 | / ... return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 392 | | ... line: key_access.left_bracket.line, [INFO] [stdout] 393 | | ... location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 394 | | ... message: format!("Failed to lock table"), [INFO] [stdout] 395 | | ... })); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 391 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 392 + line: key_access.left_bracket.line, [INFO] [stdout] 393 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 394 + message: format!("Failed to lock table"), [INFO] [stdout] 395 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 400 | | line: key_access.left_bracket.line, [INFO] [stdout] 401 | | location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 402 | | message: format!("Key access expression can only be used on tables"), [INFO] [stdout] 403 | | })); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 399 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 400 + line: key_access.left_bracket.line, [INFO] [stdout] 401 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 402 + message: format!("Key access expression can only be used on tables"), [INFO] [stdout] 403 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | return Ok(Object::Nil); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 453 - return Ok(Object::Nil); [INFO] [stdout] 453 + Ok(Object::Nil) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:220:42 [INFO] [stdout] | [INFO] [stdout] 220 | ... message: format!("Cannot divide by zero"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Cannot divide by zero".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:230:38 [INFO] [stdout] | [INFO] [stdout] 230 | ... message: format!("Unknown binary operator"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unknown binary operator".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:256:38 [INFO] [stdout] | [INFO] [stdout] 256 | ... message: format!("Unknown unary operator"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unknown unary operator".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/noa/expression.rs:265:28 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 265 - return Ok(ternary_expression.if_true.evaluate(environment.clone())?); [INFO] [stdout] 265 + return ternary_expression.if_true.evaluate(environment.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/noa/expression.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 267 - return Ok(ternary_expression.if_false.evaluate(environment.clone())?); [INFO] [stdout] 267 + return ternary_expression.if_false.evaluate(environment.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:283:38 [INFO] [stdout] | [INFO] [stdout] 283 | ... message: format!("Failed to get local scope memory"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to get local scope memory".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:298:34 [INFO] [stdout] | [INFO] [stdout] 298 | message: format!("Failed to get local scope memory"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to get local scope memory".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/expression.rs:361:74 [INFO] [stdout] | [INFO] [stdout] 361 | ... message: format!("{} is not callable", callee.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:386:46 [INFO] [stdout] | [INFO] [stdout] 386 | ... message: format!("Key must be a string"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key must be a string".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:394:42 [INFO] [stdout] | [INFO] [stdout] 394 | ... message: format!("Failed to lock table"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to lock table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:402:38 [INFO] [stdout] | [INFO] [stdout] 402 | ... message: format!("Key access expression can only be used on tables"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key access expression can only be used on tables".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/expression.rs:408:17 [INFO] [stdout] | [INFO] [stdout] 408 | / match *key_access_assignment.key_access.clone() { [INFO] [stdout] 409 | | Expression::KeyAccess(key_access) => { [INFO] [stdout] 410 | | let key = key_access.key.evaluate(environment.clone())?; [INFO] [stdout] 411 | | let value = key_access_assignment [INFO] [stdout] ... | [INFO] [stdout] 450 | | _ => {} [INFO] [stdout] 451 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 408 ~ if let Expression::KeyAccess(key_access) = *key_access_assignment.key_access.clone() { [INFO] [stdout] 409 + let key = key_access.key.evaluate(environment.clone())?; [INFO] [stdout] 410 + let value = key_access_assignment [INFO] [stdout] 411 + .expression [INFO] [stdout] 412 + .evaluate(environment.clone())?; [INFO] [stdout] 413 + match key { [INFO] [stdout] 414 + Object::String(key) => { [INFO] [stdout] 415 + let target = key_access.target.evaluate(environment.clone())?; [INFO] [stdout] 416 + match target { [INFO] [stdout] 417 + Object::Table(mutex) => match mutex.lock() { [INFO] [stdout] 418 + Ok(mut table) => { [INFO] [stdout] 419 + table.set_value(key, value); [INFO] [stdout] 420 + } [INFO] [stdout] 421 + Err(_) => { [INFO] [stdout] 422 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 423 + line: key_access.left_bracket.line, [INFO] [stdout] 424 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 425 + message: format!("Failed to lock table"), [INFO] [stdout] 426 + })); [INFO] [stdout] 427 + } [INFO] [stdout] 428 + }, [INFO] [stdout] 429 + _ => { [INFO] [stdout] 430 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 431 + line: key_access.left_bracket.line, [INFO] [stdout] 432 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 433 + message: format!( [INFO] [stdout] 434 + "Key access expression can only be used on tables" [INFO] [stdout] 435 + ), [INFO] [stdout] 436 + })); [INFO] [stdout] 437 + } [INFO] [stdout] 438 + } [INFO] [stdout] 439 + } [INFO] [stdout] 440 + _ => { [INFO] [stdout] 441 + return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 442 + line: key_access.left_bracket.line, [INFO] [stdout] 443 + location: key_access.left_bracket.lexeme.clone(), [INFO] [stdout] 444 + message: format!("Key must be a string"), [INFO] [stdout] 445 + })); [INFO] [stdout] 446 + } [INFO] [stdout] 447 + } [INFO] [stdout] 448 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:426:58 [INFO] [stdout] | [INFO] [stdout] 426 | ... message: format!("Failed to lock table"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Failed to lock table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:434:54 [INFO] [stdout] | [INFO] [stdout] 434 | ... message: format!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 435 | | ... "Key access expression can only be used on tables" [INFO] [stdout] 436 | | ... ), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Key access expression can only be used on tables".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:445:46 [INFO] [stdout] | [INFO] [stdout] 445 | ... message: format!("Key must be a string"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Key must be a string".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | / return self.parenthesize( [INFO] [stdout] 461 | | &String::from("ternary"), [INFO] [stdout] 462 | | &[ [INFO] [stdout] 463 | | ternary.check.clone(), [INFO] [stdout] ... | [INFO] [stdout] 466 | | ], [INFO] [stdout] 467 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 460 ~ self.parenthesize( [INFO] [stdout] 461 + &String::from("ternary"), [INFO] [stdout] 462 + &[ [INFO] [stdout] 463 + ternary.check.clone(), [INFO] [stdout] 464 + ternary.if_false.clone(), [INFO] [stdout] 465 + ternary.if_true.clone(), [INFO] [stdout] 466 + ], [INFO] [stdout] 467 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | / return self.parenthesize( [INFO] [stdout] 471 | | &binary.operator.lexeme, [INFO] [stdout] 472 | | &[binary.left.clone(), binary.right.clone()], [INFO] [stdout] 473 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 470 ~ self.parenthesize( [INFO] [stdout] 471 + &binary.operator.lexeme, [INFO] [stdout] 472 + &[binary.left.clone(), binary.right.clone()], [INFO] [stdout] 473 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] 476 + self.parenthesize(&String::from("group"), &[group.expression.clone()]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:478:45 [INFO] [stdout] | [INFO] [stdout] 478 | Expression::Literal(literal) => return literal.value.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 478 - Expression::Literal(literal) => return literal.value.to_string(), [INFO] [stdout] 478 + Expression::Literal(literal) => literal.value.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:480:17 [INFO] [stdout] | [INFO] [stdout] 480 | return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 480 - return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] 480 + self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:483:17 [INFO] [stdout] | [INFO] [stdout] 483 | / return self.parenthesize( [INFO] [stdout] 484 | | &format!("{} =", assgin_expression.token.lexeme), [INFO] [stdout] 485 | | &[assgin_expression.expression.clone()], [INFO] [stdout] 486 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 483 ~ self.parenthesize( [INFO] [stdout] 484 + &format!("{} =", assgin_expression.token.lexeme), [INFO] [stdout] 485 + &[assgin_expression.expression.clone()], [INFO] [stdout] 486 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:489:17 [INFO] [stdout] | [INFO] [stdout] 489 | return format!("var {}", variable_expression.token.lexeme); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 489 - return format!("var {}", variable_expression.token.lexeme); [INFO] [stdout] 489 + format!("var {}", variable_expression.token.lexeme) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:492:17 [INFO] [stdout] | [INFO] [stdout] 492 | / return self.parenthesize( [INFO] [stdout] 493 | | &format!("= {}", logical_expression.operator.lexeme), [INFO] [stdout] 494 | | &[ [INFO] [stdout] 495 | | logical_expression.left.clone(), [INFO] [stdout] 496 | | logical_expression.right.clone(), [INFO] [stdout] 497 | | ], [INFO] [stdout] 498 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 492 ~ self.parenthesize( [INFO] [stdout] 493 + &format!("= {}", logical_expression.operator.lexeme), [INFO] [stdout] 494 + &[ [INFO] [stdout] 495 + logical_expression.left.clone(), [INFO] [stdout] 496 + logical_expression.right.clone(), [INFO] [stdout] 497 + ], [INFO] [stdout] 498 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:506:17 [INFO] [stdout] | [INFO] [stdout] 506 | return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 506 - return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] 506 + self.parenthesize(&format!("call"), &expressions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:514:17 [INFO] [stdout] | [INFO] [stdout] 514 | return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 514 - return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] 514 + self.parenthesize(&format!("table"), &expressions) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:517:17 [INFO] [stdout] | [INFO] [stdout] 517 | / return self.parenthesize( [INFO] [stdout] 518 | | &format!("[]"), [INFO] [stdout] 519 | | &[key_access.target.clone(), key_access.key.clone()], [INFO] [stdout] 520 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 517 ~ self.parenthesize( [INFO] [stdout] 518 + &format!("[]"), [INFO] [stdout] 519 + &[key_access.target.clone(), key_access.key.clone()], [INFO] [stdout] 520 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/expression.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | / return self.parenthesize( [INFO] [stdout] 524 | | &format!("[] ="), [INFO] [stdout] 525 | | &[ [INFO] [stdout] 526 | | table_assgin_expression.key_access.clone(), [INFO] [stdout] 527 | | table_assgin_expression.expression.clone(), [INFO] [stdout] 528 | | ], [INFO] [stdout] 529 | | ); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 523 ~ self.parenthesize( [INFO] [stdout] 524 + &format!("[] ="), [INFO] [stdout] 525 + &[ [INFO] [stdout] 526 + table_assgin_expression.key_access.clone(), [INFO] [stdout] 527 + table_assgin_expression.expression.clone(), [INFO] [stdout] 528 + ], [INFO] [stdout] 529 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:476:66 [INFO] [stdout] | [INFO] [stdout] 476 | return self.parenthesize(&String::from("group"), &[group.expression.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&group.expression)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] = note: `#[warn(clippy::cloned_ref_to_slice_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:480:66 [INFO] [stdout] | [INFO] [stdout] 480 | return self.parenthesize(&unary.operator.lexeme, &[unary.right.clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&unary.right)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/noa/expression.rs:485:21 [INFO] [stdout] | [INFO] [stdout] 485 | &[assgin_expression.expression.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(&assgin_expression.expression)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:506:43 [INFO] [stdout] | [INFO] [stdout] 506 | return self.parenthesize(&format!("call"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"call".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:514:43 [INFO] [stdout] | [INFO] [stdout] 514 | return self.parenthesize(&format!("table"), &expressions); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"table".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:518:22 [INFO] [stdout] | [INFO] [stdout] 518 | &format!("[]"), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/expression.rs:524:22 [INFO] [stdout] | [INFO] [stdout] 524 | &format!("[] ="), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[] =".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 19 | | line: 0, [INFO] [stdout] 20 | | location: "N/A".to_owned(), [INFO] [stdout] 21 | | message: "Failed to lock table".to_owned(), [INFO] [stdout] 22 | | })); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 19 + line: 0, [INFO] [stdout] 20 + location: "N/A".to_owned(), [INFO] [stdout] 21 + message: "Failed to lock table".to_owned(), [INFO] [stdout] 22 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 27 | | line: 0, [INFO] [stdout] 28 | | location: "N/A".to_owned(), [INFO] [stdout] 29 | | message: "len can only be called on strings and tables".to_owned(), [INFO] [stdout] 30 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 27 + line: 0, [INFO] [stdout] 28 + location: "N/A".to_owned(), [INFO] [stdout] 29 + message: "len can only be called on strings and tables".to_owned(), [INFO] [stdout] 30 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/generic.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn len(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 12 - pub fn len(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 12 + pub fn len(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/generic.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 42 | | line: 0, [INFO] [stdout] 43 | | location: first.to_string(), [INFO] [stdout] 44 | | message: format!("{} is not a number", first.to_string()), [INFO] [stdout] 45 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 42 + line: 0, [INFO] [stdout] 43 + location: first.to_string(), [INFO] [stdout] 44 + message: format!("{} is not a number", first.to_string()), [INFO] [stdout] 45 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/generic.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn exit(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 35 - pub fn exit(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 35 + pub fn exit(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/generic.rs:44:61 [INFO] [stdout] | [INFO] [stdout] 44 | message: format!("{} is not a number", first.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/interpreter.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / return Interpreter { [INFO] [stdout] 18 | | environment: Arc::new(Mutex::new(Environment::new())), [INFO] [stdout] 19 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 ~ Interpreter { [INFO] [stdout] 18 + environment: Arc::new(Mutex::new(Environment::new())), [INFO] [stdout] 19 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/interpreter.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | / match statement.execute(self.environment.clone()) { [INFO] [stdout] 32 | | Err(e) => match e { [INFO] [stdout] 33 | | crate::noa::error::NoaTermination::Error(noa_error) => return Err(noa_error), [INFO] [stdout] 34 | | super::error::NoaTermination::Return(_) => { [INFO] [stdout] ... | [INFO] [stdout] 57 | | _ => {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 31 ~ if let Err(e) = statement.execute(self.environment.clone()) { match e { [INFO] [stdout] 32 + crate::noa::error::NoaTermination::Error(noa_error) => return Err(noa_error), [INFO] [stdout] 33 + super::error::NoaTermination::Return(_) => { [INFO] [stdout] 34 + return Err(NoaError { [INFO] [stdout] 35 + line: 0, [INFO] [stdout] 36 + location: String::from("return"), [INFO] [stdout] 37 + message: String::from("return can only be used inside a function"), [INFO] [stdout] 38 + }); [INFO] [stdout] 39 + } [INFO] [stdout] 40 + super::error::NoaTermination::Break => { [INFO] [stdout] 41 + return Err(NoaError { [INFO] [stdout] 42 + line: 0, [INFO] [stdout] 43 + location: String::from("break"), [INFO] [stdout] 44 + message: String::from("break can only be used loops"), [INFO] [stdout] 45 + }); [INFO] [stdout] 46 + } [INFO] [stdout] 47 + super::error::NoaTermination::Continue => { [INFO] [stdout] 48 + return Err(NoaError { [INFO] [stdout] 49 + line: 0, [INFO] [stdout] 50 + location: String::from("continue"), [INFO] [stdout] 51 + message: String::from("continue can only be used loops"), [INFO] [stdout] 52 + }); [INFO] [stdout] 53 + } [INFO] [stdout] 54 + super::error::NoaTermination::Exit(num) => return Ok(num), [INFO] [stdout] 55 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `print!` args [INFO] [stdout] --> src/noa/io.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | print!("{}", arg.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `print!` args [INFO] [stdout] --> src/noa/io.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | print!("{}", arg.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/noa/io.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return Parser { tokens, current: 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Parser { tokens, current: 0 }; [INFO] [stdout] 23 + Parser { tokens, current: 0 } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(statements); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(statements); [INFO] [stdout] 54 + Ok(statements) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/parser.rs:40:35 [INFO] [stdout] | [INFO] [stdout] 40 | location: format!( [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 41 | | "{}", [INFO] [stdout] 42 | | if self.peek().token_type == TokenType::EOF { [INFO] [stdout] 43 | | "eof" [INFO] [stdout] ... | [INFO] [stdout] 47 | | ), [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 40 ~ location: (if self.peek().token_type == TokenType::EOF { [INFO] [stdout] 41 + "eof" [INFO] [stdout] 42 + } else { [INFO] [stdout] 43 + &self.peek().lexeme [INFO] [stdout] 44 ~ }).to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | return self.parse_statement(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return self.parse_statement(); [INFO] [stdout] 65 + self.parse_statement() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / return Ok(Statement::Var(VarStatement { [INFO] [stdout] 83 | | initializer, [INFO] [stdout] 84 | | identifier: identifier, [INFO] [stdout] 85 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Ok(Statement::Var(VarStatement { [INFO] [stdout] 83 + initializer, [INFO] [stdout] 84 + identifier: identifier, [INFO] [stdout] 85 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | / return Ok(Statement::Function(FunctionStatement { [INFO] [stdout] 120 | | name: name.clone(), [INFO] [stdout] 121 | | params: parameters, [INFO] [stdout] 122 | | body: Box::new(body), [INFO] [stdout] 123 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 ~ Ok(Statement::Function(FunctionStatement { [INFO] [stdout] 120 + name: name.clone(), [INFO] [stdout] 121 + params: parameters, [INFO] [stdout] 122 + body: Box::new(body), [INFO] [stdout] 123 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return self.parse_expression_statement(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 - return self.parse_expression_statement(); [INFO] [stdout] 147 + self.parse_expression_statement() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | / return Ok(Statement::Return(ReturnStatement { [INFO] [stdout] 163 | | keyword: token, [INFO] [stdout] 164 | | value: Box::new(expr), [INFO] [stdout] 165 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 162 ~ Ok(Statement::Return(ReturnStatement { [INFO] [stdout] 163 + keyword: token, [INFO] [stdout] 164 + value: Box::new(expr), [INFO] [stdout] 165 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | / return Ok(Statement::If(IfStatement { [INFO] [stdout] 191 | | check: Box::new(expression), [INFO] [stdout] 192 | | if_true: Box::new(if_true), [INFO] [stdout] 193 | | if_false: None, [INFO] [stdout] 194 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 ~ Ok(Statement::If(IfStatement { [INFO] [stdout] 191 + check: Box::new(expression), [INFO] [stdout] 192 + if_true: Box::new(if_true), [INFO] [stdout] 193 + if_false: None, [INFO] [stdout] 194 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | / return Ok(Statement::While(WhileStatement { [INFO] [stdout] 210 | | check: Box::new(expression), [INFO] [stdout] 211 | | if_true: Box::new(if_true), [INFO] [stdout] 212 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 209 ~ Ok(Statement::While(WhileStatement { [INFO] [stdout] 210 + check: Box::new(expression), [INFO] [stdout] 211 + if_true: Box::new(if_true), [INFO] [stdout] 212 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | / return Ok(Statement::Block(BlockStatement { [INFO] [stdout] 261 | | statements: vec![ [INFO] [stdout] 262 | | initializer, [INFO] [stdout] 263 | | Statement::While(WhileStatement { [INFO] [stdout] ... | [INFO] [stdout] 274 | | ], [INFO] [stdout] 275 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 260 ~ Ok(Statement::Block(BlockStatement { [INFO] [stdout] 261 + statements: vec![ [INFO] [stdout] 262 + initializer, [INFO] [stdout] 263 + Statement::While(WhileStatement { [INFO] [stdout] 264 + check: Box::new(check), [INFO] [stdout] 265 + if_true: Box::new(Statement::Block(BlockStatement { [INFO] [stdout] 266 + statements: vec![ [INFO] [stdout] 267 + if_true, [INFO] [stdout] 268 + Statement::Expression(ExpressionStatement { [INFO] [stdout] 269 + expression: Box::new(post_loop), [INFO] [stdout] 270 + }), [INFO] [stdout] 271 + ], [INFO] [stdout] 272 + })), [INFO] [stdout] 273 + }), [INFO] [stdout] 274 + ], [INFO] [stdout] 275 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | / return Ok(Statement::Block(BlockStatement { [INFO] [stdout] 288 | | statements: statements, [INFO] [stdout] 289 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 287 ~ Ok(Statement::Block(BlockStatement { [INFO] [stdout] 288 + statements: statements, [INFO] [stdout] 289 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:299:9 [INFO] [stdout] | [INFO] [stdout] 299 | / return Ok(Statement::Expression(ExpressionStatement { [INFO] [stdout] 300 | | expression: Box::new(expr), [INFO] [stdout] 301 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 299 ~ Ok(Statement::Expression(ExpressionStatement { [INFO] [stdout] 300 + expression: Box::new(expr), [INFO] [stdout] 301 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | return self.peek().token_type == TokenType::EOF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 305 - return self.peek().token_type == TokenType::EOF; [INFO] [stdout] 305 + self.peek().token_type == TokenType::EOF [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | return &self.tokens[self.current]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 308 - return &self.tokens[self.current]; [INFO] [stdout] 308 + &self.tokens[self.current] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | return self.peek().token_type == *token_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 315 - return self.peek().token_type == *token_type; [INFO] [stdout] 315 + self.peek().token_type == *token_type [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | return self.tokens[self.current - 1].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 318 - return self.tokens[self.current - 1].clone(); [INFO] [stdout] 318 + self.tokens[self.current - 1].clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | return self.previous(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 325 - return self.previous(); [INFO] [stdout] 325 + self.previous() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 335 - return false; [INFO] [stdout] 335 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return self.parse_assignment(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 339 - return self.parse_assignment(); [INFO] [stdout] 339 + self.parse_assignment() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:365:9 [INFO] [stdout] | [INFO] [stdout] 365 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 365 - return Ok(expr); [INFO] [stdout] 365 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 381 - return Ok(expr); [INFO] [stdout] 381 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 397 - return Ok(expr); [INFO] [stdout] 397 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:417:9 [INFO] [stdout] | [INFO] [stdout] 417 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 417 - return Ok(expr); [INFO] [stdout] 417 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return Ok(expr); [INFO] [stdout] 433 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 454 - return Ok(expr); [INFO] [stdout] 454 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:470:9 [INFO] [stdout] | [INFO] [stdout] 470 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 470 - return Ok(expr); [INFO] [stdout] 470 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 486 - return Ok(expr); [INFO] [stdout] 486 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | return self.parse_call_or_key_access(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 499 - return self.parse_call_or_key_access(); [INFO] [stdout] 499 + self.parse_call_or_key_access() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | return Ok(expression); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 515 - return Ok(expression); [INFO] [stdout] 515 + Ok(expression) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:538:9 [INFO] [stdout] | [INFO] [stdout] 538 | / return Ok(Expression::Call(CallExpression { [INFO] [stdout] 539 | | callee: Box::new(expression), [INFO] [stdout] 540 | | paren: paren.clone(), [INFO] [stdout] 541 | | arguments: arguments, [INFO] [stdout] 542 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 538 ~ Ok(Expression::Call(CallExpression { [INFO] [stdout] 539 + callee: Box::new(expression), [INFO] [stdout] 540 + paren: paren.clone(), [INFO] [stdout] 541 + arguments: arguments, [INFO] [stdout] 542 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:551:9 [INFO] [stdout] | [INFO] [stdout] 551 | / return Ok(Expression::KeyAccess(KeyAccessExpression { [INFO] [stdout] 552 | | target: Box::new(expression), [INFO] [stdout] 553 | | left_bracket: self.previous().clone(), [INFO] [stdout] 554 | | key: Box::new(key), [INFO] [stdout] 555 | | })); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 551 ~ Ok(Expression::KeyAccess(KeyAccessExpression { [INFO] [stdout] 552 + target: Box::new(expression), [INFO] [stdout] 553 + left_bracket: self.previous().clone(), [INFO] [stdout] 554 + key: Box::new(key), [INFO] [stdout] 555 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:609:9 [INFO] [stdout] | [INFO] [stdout] 609 | return Err(format!("Unexpected token")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 609 - return Err(format!("Unexpected token")); [INFO] [stdout] 609 + Err(format!("Unexpected token")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/parser.rs:609:20 [INFO] [stdout] | [INFO] [stdout] 609 | return Err(format!("Unexpected token")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unexpected token".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:630:9 [INFO] [stdout] | [INFO] [stdout] 630 | return Ok(Expression::Table(TableExpression { values: map })); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 630 - return Ok(Expression::Table(TableExpression { values: map })); [INFO] [stdout] 630 + Ok(Expression::Table(TableExpression { values: map })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | return Ok(expr); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 646 - return Ok(expr); [INFO] [stdout] 646 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/parser.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | return Err(message); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 653 - return Err(message); [INFO] [stdout] 653 + Err(message) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / return Scanner { [INFO] [stdout] 40 | | keywords: keywords, [INFO] [stdout] 41 | | source: source, [INFO] [stdout] 42 | | tokens: Vec::new(), [INFO] [stdout] ... | [INFO] [stdout] 45 | | line: 1, [INFO] [stdout] 46 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 ~ Scanner { [INFO] [stdout] 40 + keywords: keywords, [INFO] [stdout] 41 + source: source, [INFO] [stdout] 42 + tokens: Vec::new(), [INFO] [stdout] 43 + start: 0, [INFO] [stdout] 44 + current: 0, [INFO] [stdout] 45 + line: 1, [INFO] [stdout] 46 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/noa/scanner.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | if token.lexeme.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!token.lexeme.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | return self.current >= self.source.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return self.current >= self.source.len(); [INFO] [stdout] 62 + self.current >= self.source.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return Ok(()); [INFO] [stdout] 82 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TokenType` which implements the `Copy` trait [INFO] [stdout] --> src/noa/scanner.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | let token_type: TokenType = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 109 | | .keywords [INFO] [stdout] 110 | | .get(value) [INFO] [stdout] 111 | | .unwrap_or(&TokenType::Identifier) [INFO] [stdout] 112 | | .clone(); [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] help: try dereferencing it [INFO] [stdout] | [INFO] [stdout] 108 ~ let token_type: TokenType = *self [INFO] [stdout] 109 + .keywords [INFO] [stdout] 110 + .get(value) [INFO] [stdout] 111 ~ .unwrap_or(&TokenType::Identifier); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/noa/scanner.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while !(self.peek() == '*' && self.peek_next() == '/') && !self.is_at_end() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(self.is_at_end() || self.peek() == '*' && self.peek_next() == '/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:154:15 [INFO] [stdout] | [INFO] [stdout] 154 | while self.peek().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:157:34 [INFO] [stdout] | [INFO] [stdout] 157 | if self.peek() == '.' && self.peek_next().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek_next().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:159:19 [INFO] [stdout] | [INFO] [stdout] 159 | while self.peek().is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.peek().is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return Ok(()); [INFO] [stdout] 245 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/noa/scanner.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | if c.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | return self.source.chars().nth(self.current - 1).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 265 - return self.source.chars().nth(self.current - 1).unwrap_or('\0'); [INFO] [stdout] 265 + self.source.chars().nth(self.current - 1).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | return self.source.chars().nth(self.current).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return self.source.chars().nth(self.current).unwrap_or('\0'); [INFO] [stdout] 272 + self.source.chars().nth(self.current).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | return self.source.chars().nth(self.current + 1).unwrap_or('\0'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 282 - return self.source.chars().nth(self.current + 1).unwrap_or('\0'); [INFO] [stdout] 282 + self.source.chars().nth(self.current + 1).unwrap_or('\0') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/scanner.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return true; [INFO] [stdout] 294 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/statement.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(()); [INFO] [stdout] 132 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/statement.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(NoaTermination::Return(value)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return Err(NoaTermination::Return(value)); [INFO] [stdout] 180 + Err(NoaTermination::Return(value)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:84:38 [INFO] [stdout] | [INFO] [stdout] 84 | ... message: format!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 85 | | ... "Failed to get local scope memory to assign the value" [INFO] [stdout] 86 | | ... ), [INFO] [stdout] | |_______________________^ help: consider using `.to_string()`: `"Failed to get local scope memory to assign the value".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:101:39 [INFO] [stdout] | [INFO] [stdout] 101 | ... location: format!("N/A"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"N/A".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/noa/statement.rs:102:38 [INFO] [stdout] | [INFO] [stdout] 102 | ... message: format!("Unable to create local scope for block"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Unable to create local scope for block".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/string.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn str(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 9 - pub fn str(arguments: &Vec, _: Arc>) -> Result { [INFO] [stdout] 9 + pub fn str(arguments: &[Object], _: Arc>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/string.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | / return Err(NoaTermination::Error(NoaError { [INFO] [stdout] 29 | | line: 0, [INFO] [stdout] 30 | | location: first.to_string(), [INFO] [stdout] 31 | | message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] 32 | | })); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 ~ Err(NoaTermination::Error(NoaError { [INFO] [stdout] 29 + line: 0, [INFO] [stdout] 30 + location: first.to_string(), [INFO] [stdout] 31 + message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] 32 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/noa/string.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | arguments: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 14 - arguments: &Vec, [INFO] [stdout] 14 + arguments: &[Object], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/noa/string.rs:31:72 [INFO] [stdout] | [INFO] [stdout] 31 | message: format!("Cannot convert {} into number", first.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EOF` contains a capitalized acronym [INFO] [stdout] --> src/noa/token.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | EOF, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Eof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/token.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | return format!("{:?} {} {}", self.token_type, self.lexeme, self.line); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return format!("{:?} {} {}", self.token_type, self.lexeme, self.line); [INFO] [stdout] 67 + format!("{:?} {} {}", self.token_type, self.lexeme, self.line) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/noa/types.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub callback: Option< [INFO] [stdout] | ___________________^ [INFO] [stdout] 17 | | fn( [INFO] [stdout] 18 | | arguments: &Vec, [INFO] [stdout] 19 | | environment: Arc>, [INFO] [stdout] 20 | | ) -> Result, [INFO] [stdout] 21 | | >, [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(Object::Nil); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(Object::Nil); [INFO] [stdout] 54 + Ok(Object::Nil) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / match self.callback { [INFO] [stdout] 33 | | Some(callback) => { [INFO] [stdout] 34 | | return callback(&arguments, environment); [INFO] [stdout] ... | [INFO] [stdout] 37 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 32 ~ if let Some(callback) = self.callback { [INFO] [stdout] 33 + return callback(&arguments, environment); [INFO] [stdout] 34 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / match &self.body { [INFO] [stdout] 40 | | Some(block) => match block.execute(environment) { [INFO] [stdout] 41 | | Err(e) => match e { [INFO] [stdout] 42 | | NoaTermination::Return(object) => { [INFO] [stdout] ... | [INFO] [stdout] 51 | | None => {} [INFO] [stdout] 52 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 39 ~ if let Some(block) = &self.body { match block.execute(environment) { [INFO] [stdout] 40 + Err(e) => match e { [INFO] [stdout] 41 + NoaTermination::Return(object) => { [INFO] [stdout] 42 + return Ok(object); [INFO] [stdout] 43 + } [INFO] [stdout] 44 + _ => { [INFO] [stdout] 45 + return Err(e); [INFO] [stdout] 46 + } [INFO] [stdout] 47 + }, [INFO] [stdout] 48 + _ => {} [INFO] [stdout] 49 + } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/noa/types.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | Some(block) => match block.execute(environment) { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 41 | | Err(e) => match e { [INFO] [stdout] 42 | | NoaTermination::Return(object) => { [INFO] [stdout] 43 | | return Ok(object); [INFO] [stdout] ... | [INFO] [stdout] 49 | | _ => {} [INFO] [stdout] 50 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 40 ~ Some(block) => if let Err(e) = block.execute(environment) { match e { [INFO] [stdout] 41 + NoaTermination::Return(object) => { [INFO] [stdout] 42 + return Ok(object); [INFO] [stdout] 43 + } [INFO] [stdout] 44 + _ => { [INFO] [stdout] 45 + return Err(e); [INFO] [stdout] 46 + } [INFO] [stdout] 47 ~ } }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | return value.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return value.clone(); [INFO] [stdout] 67 + value.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | return *num == 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return *num == 0.0; [INFO] [stdout] 91 + *num == 0.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:93:36 [INFO] [stdout] | [INFO] [stdout] 93 | Object::String(str) => return !str.is_empty(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 - Object::String(str) => return !str.is_empty(), [INFO] [stdout] 93 + Object::String(str) => !str.is_empty(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | return *b; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return *b; [INFO] [stdout] 95 + *b [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return false; [INFO] [stdout] 98 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | Object::Function(_) => return true, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - Object::Function(_) => return true, [INFO] [stdout] 100 + Object::Function(_) => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | Object::Table(_) => return true, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - Object::Table(_) => return true, [INFO] [stdout] 101 + Object::Table(_) => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | return num1 == num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return num1 == num2; [INFO] [stdout] 119 + num1 == num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:122:21 [INFO] [stdout] | [INFO] [stdout] 122 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 122 - return false; [INFO] [stdout] 122 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | return str2 == str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return str2 == str; [INFO] [stdout] 127 + str2 == str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return false; [INFO] [stdout] 131 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | return b == b2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 136 - return b == b2; [INFO] [stdout] 136 + b == b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return false; [INFO] [stdout] 140 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 - return false; [INFO] [stdout] 144 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | return num1 > num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return num1 > num2; [INFO] [stdout] 152 + num1 > num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 155 - return false; [INFO] [stdout] 155 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:160:21 [INFO] [stdout] | [INFO] [stdout] 160 | return str2 > str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return str2 > str; [INFO] [stdout] 160 + str2 > str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:164:21 [INFO] [stdout] | [INFO] [stdout] 164 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 164 - return false; [INFO] [stdout] 164 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:169:21 [INFO] [stdout] | [INFO] [stdout] 169 | return b > b2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 169 - return b > b2; [INFO] [stdout] 169 + b > b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return false; [INFO] [stdout] 173 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 177 - return false; [INFO] [stdout] 177 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | return num1 < num2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 185 - return num1 < num2; [INFO] [stdout] 185 + num1 < num2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 188 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 188 - return false; [INFO] [stdout] 188 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | return str2 < str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 193 - return str2 < str; [INFO] [stdout] 193 + str2 < str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 197 - return false; [INFO] [stdout] 197 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:202:21 [INFO] [stdout] | [INFO] [stdout] 202 | return b < b2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 202 - return b < b2; [INFO] [stdout] 202 + b < b2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 206 - return false; [INFO] [stdout] 206 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/types.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 210 - return false; [INFO] [stdout] 210 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `write!` args [INFO] [stdout] --> src/noa/types.rs:229:57 [INFO] [stdout] | [INFO] [stdout] 229 | ... write!(f, "{}:{},", key, val.to_string())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Noa` [INFO] [stdout] --> src/noa/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | / pub fn new() -> Self { [INFO] [stdout] 36 | | return Noa { [INFO] [stdout] 37 | | interpreter: Interpreter::new(), [INFO] [stdout] 38 | | }; [INFO] [stdout] 39 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 34 + impl Default for Noa { [INFO] [stdout] 35 + fn default() -> Self { [INFO] [stdout] 36 + Self::new() [INFO] [stdout] 37 + } [INFO] [stdout] 38 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / return Noa { [INFO] [stdout] 37 | | interpreter: Interpreter::new(), [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 ~ Noa { [INFO] [stdout] 37 + interpreter: Interpreter::new(), [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | return Err(Self::report_noa_error(err)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return Err(Self::report_noa_error(err)); [INFO] [stdout] 125 + Err(Self::report_noa_error(err)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | return Err(Self::report_noa_error(err)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return Err(Self::report_noa_error(err)); [INFO] [stdout] 129 + Err(Self::report_noa_error(err)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return Ok(num); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return Ok(num); [INFO] [stdout] 132 + Ok(num) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:143:23 [INFO] [stdout] | [INFO] [stdout] 143 | Err(_) => return Err("Failed to read the file".to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 143 - Err(_) => return Err("Failed to read the file".to_string()), [INFO] [stdout] 143 + Err(_) => Err("Failed to read the file".to_string()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/noa/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / return format!( [INFO] [stdout] 148 | | "[line \"{}\"] Error at '{}': {}", [INFO] [stdout] 149 | | error.line, error.location, error.message [INFO] [stdout] 150 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 147 ~ format!( [INFO] [stdout] 148 + "[line \"{}\"] Error at '{}': {}", [INFO] [stdout] 149 + error.line, error.location, error.message [INFO] [stdout] 150 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.66s [INFO] running `Command { std: "docker" "inspect" "6110592a7bc7823160e34726727dd16fc99b34b056b75cc2503db9ec5997e1b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6110592a7bc7823160e34726727dd16fc99b34b056b75cc2503db9ec5997e1b8", kill_on_drop: false }` [INFO] [stdout] 6110592a7bc7823160e34726727dd16fc99b34b056b75cc2503db9ec5997e1b8