[INFO] cloning repository https://github.com/geek-frio/rs-lisp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/geek-frio/rs-lisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeek-frio%2Frs-lisp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeek-frio%2Frs-lisp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f8ad3675b8926c456310cc8066b4b6b2c80ffe18 [INFO] linting geek-frio/rs-lisp against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeek-frio%2Frs-lisp" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/geek-frio/rs-lisp [INFO] finished tweaking git repo https://github.com/geek-frio/rs-lisp [INFO] tweaked toml for git repo https://github.com/geek-frio/rs-lisp written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/geek-frio/rs-lisp 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/geek-frio/rs-lisp already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 86cedbcacb4ad3c1fee1b0ae18d60a1d2ada6b4f6f20670732015aa6c80d2d30 [INFO] running `Command { std: "docker" "start" "-a" "86cedbcacb4ad3c1fee1b0ae18d60a1d2ada6b4f6f20670732015aa6c80d2d30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "86cedbcacb4ad3c1fee1b0ae18d60a1d2ada6b4f6f20670732015aa6c80d2d30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86cedbcacb4ad3c1fee1b0ae18d60a1d2ada6b4f6f20670732015aa6c80d2d30", kill_on_drop: false }` [INFO] [stdout] 86cedbcacb4ad3c1fee1b0ae18d60a1d2ada6b4f6f20670732015aa6c80d2d30 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f47f748c40977b89a17817b0abd34cf6893cba8f3d5f2c67b843aa0ca27f1ae3 [INFO] running `Command { std: "docker" "start" "-a" "f47f748c40977b89a17817b0abd34cf6893cba8f3d5f2c67b843aa0ca27f1ae3", kill_on_drop: false }` [INFO] [stderr] Checking newlisp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/token.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | lexeme: lexeme, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/token.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | s: s, [INFO] [stdout] | ^^^^ help: replace it with: `s` [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/token.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | lexeme: lexeme, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [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/token.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | s: s, [INFO] [stdout] | ^^^^ help: replace it with: `s` [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/token.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | reserved: reserved, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `reserved` [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/token.rs:219:13 [INFO] [stdout] | [INFO] [stdout] 219 | chars: chars, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `chars` [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/ast.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/token.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | lexeme: lexeme, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/token.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | s: s, [INFO] [stdout] | ^^^^ help: replace it with: `s` [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/token.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | lexeme: lexeme, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [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/token.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | s: s, [INFO] [stdout] | ^^^^ help: replace it with: `s` [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/token.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | token_tag: token_tag, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_tag` [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/token.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | reserved: reserved, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `reserved` [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/token.rs:219:13 [INFO] [stdout] | [INFO] [stdout] 219 | chars: chars, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `chars` [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: field `0` is never read [INFO] [stdout] --> src/token.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | READ_TO_END(String), [INFO] [stdout] | ----------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErrCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 22 - READ_TO_END(String), [INFO] [stdout] 22 + READ_TO_END(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/token.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | OTHER(String), [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErrCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 - OTHER(String), [INFO] [stdout] 23 + OTHER(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_simple_in` is never used [INFO] [stdout] --> src/ast.rs:550:8 [INFO] [stdout] | [INFO] [stdout] 550 | fn test_simple_in() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AND` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | AND, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `And` [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: name `MOD` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | MOD, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mod` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EQUALS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | EQUALS, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Equals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | VAR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OTHER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | OTHER, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NUM` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NUM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Num` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | STR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OTHER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | OTHER(String), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | return &self.tag; [INFO] [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] 68 - return &self.tag; [INFO] [stdout] 68 + &self.tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return self.lexeme.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] 71 - return self.lexeme.clone(); [INFO] [stdout] 71 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 96 - return &self.token_tag; [INFO] [stdout] 96 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | return self.s.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] 99 - return self.s.clone(); [INFO] [stdout] 99 + self.s.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/token.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if !lexeme.parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lexeme.parse::().is_err()` [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: unneeded `return` statement [INFO] [stdout] --> src/token.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return &self.token_tag; [INFO] [stdout] 130 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | return self.lexeme.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] 134 - return self.lexeme.clone(); [INFO] [stdout] 134 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return &self.token_tag; [INFO] [stdout] 159 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return self.s.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] 162 - return self.s.clone(); [INFO] [stdout] 162 + self.s.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ast.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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: unneeded `return` statement [INFO] [stdout] --> src/token.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 183 - return &self.token_tag; [INFO] [stdout] 183 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | return self.lexeme.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] 186 - return self.lexeme.clone(); [INFO] [stdout] 186 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:208:43 [INFO] [stdout] | [INFO] [stdout] 208 | reserved.insert(and_ops.lexeme(), Arc::new(and_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:209:42 [INFO] [stdout] | [INFO] [stdout] 209 | reserved.insert(or_ops.lexeme(), Arc::new(or_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:210:43 [INFO] [stdout] | [INFO] [stdout] 210 | reserved.insert(mod_ops.lexeme(), Arc::new(mod_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:211:42 [INFO] [stdout] | [INFO] [stdout] 211 | reserved.insert(in_ops.lexeme(), Arc::new(in_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ast.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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/ast.rs:203:13 [INFO] [stdout] | [INFO] [stdout] 203 | args: args, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `args` [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: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:212:42 [INFO] [stdout] | [INFO] [stdout] 212 | reserved.insert(eq_ops.lexeme(), Arc::new(eq_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/token.rs:224:57 [INFO] [stdout] | [INFO] [stdout] 224 | fn read(step: &mut i32, peek: &mut Option, c: &Vec) -> Result<(), ErrCode> { [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] 224 - fn read(step: &mut i32, peek: &mut Option, c: &Vec) -> Result<(), ErrCode> { [INFO] [stdout] 224 + fn read(step: &mut i32, peek: &mut Option, c: &[char]) -> Result<(), ErrCode> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:228:30 [INFO] [stdout] | [INFO] [stdout] 228 | peek.replace(i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*i` [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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/token.rs:240:12 [INFO] [stdout] | [INFO] [stdout] 240 | c: &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] 240 - c: &Vec, [INFO] [stdout] 240 + c: &[char], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:250:34 [INFO] [stdout] | [INFO] [stdout] 250 | peek.replace(i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | let peek = peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | / Ok(Other::create_with_token_and_val( [INFO] [stdout] 434 | | TokenTag::OTHER, [INFO] [stdout] 435 | | self.peek.unwrap(), [INFO] [stdout] 436 | | )?) [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] 433 ~ Other::create_with_token_and_val( [INFO] [stdout] 434 | TokenTag::OTHER, [INFO] [stdout] 435 | self.peek.unwrap(), [INFO] [stdout] 436 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ________________________^ [INFO] [stdout] 301 | | TokenTag::LEFT_BRACKET, [INFO] [stdout] 302 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 303 | | )?); [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] 300 ~ return Other::create_with_token_and_val( [INFO] [stdout] 301 | TokenTag::LEFT_BRACKET, [INFO] [stdout] 302 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 303 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:306:24 [INFO] [stdout] | [INFO] [stdout] 306 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ________________________^ [INFO] [stdout] 307 | | TokenTag::RIGHT_BRACKET, [INFO] [stdout] 308 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 309 | | )?); [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] 306 ~ return Other::create_with_token_and_val( [INFO] [stdout] 307 | TokenTag::RIGHT_BRACKET, [INFO] [stdout] 308 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 309 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:308:21 [INFO] [stdout] | [INFO] [stdout] 308 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:312:32 [INFO] [stdout] | [INFO] [stdout] 312 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:314:28 [INFO] [stdout] | [INFO] [stdout] 314 | return Ok(OpType::create_with_token(TokenTag::IN, "IN".to_string())?); [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] 314 - return Ok(OpType::create_with_token(TokenTag::IN, "IN".to_string())?); [INFO] [stdout] 314 + return OpType::create_with_token(TokenTag::IN, "IN".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:317:28 [INFO] [stdout] | [INFO] [stdout] 317 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 318 | | TokenTag::OTHER, [INFO] [stdout] 319 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 320 | | )?); [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] 317 ~ return Other::create_with_token_and_val( [INFO] [stdout] 318 | TokenTag::OTHER, [INFO] [stdout] 319 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 320 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:319:25 [INFO] [stdout] | [INFO] [stdout] 319 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:324:32 [INFO] [stdout] | [INFO] [stdout] 324 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:326:28 [INFO] [stdout] | [INFO] [stdout] 326 | return Ok(OpType::create_with_token(TokenTag::MOD, "MOD".to_string())?); [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] 326 - return Ok(OpType::create_with_token(TokenTag::MOD, "MOD".to_string())?); [INFO] [stdout] 326 + return OpType::create_with_token(TokenTag::MOD, "MOD".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:329:28 [INFO] [stdout] | [INFO] [stdout] 329 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 330 | | TokenTag::OTHER, [INFO] [stdout] 331 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 332 | | )?); [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] 329 ~ return Other::create_with_token_and_val( [INFO] [stdout] 330 | TokenTag::OTHER, [INFO] [stdout] 331 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 332 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:331:25 [INFO] [stdout] | [INFO] [stdout] 331 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:336:32 [INFO] [stdout] | [INFO] [stdout] 336 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:338:28 [INFO] [stdout] | [INFO] [stdout] 338 | return Ok(OpType::create_with_token(TokenTag::AND, "AND".to_string())?); [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] 338 - return Ok(OpType::create_with_token(TokenTag::AND, "AND".to_string())?); [INFO] [stdout] 338 + return OpType::create_with_token(TokenTag::AND, "AND".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:341:28 [INFO] [stdout] | [INFO] [stdout] 341 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 342 | | TokenTag::OTHER, [INFO] [stdout] 343 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 344 | | )?); [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] 341 ~ return Other::create_with_token_and_val( [INFO] [stdout] 342 | TokenTag::OTHER, [INFO] [stdout] 343 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 344 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:348:32 [INFO] [stdout] | [INFO] [stdout] 348 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:350:28 [INFO] [stdout] | [INFO] [stdout] 350 | return Ok(OpType::create_with_token(TokenTag::OR, "OR".to_string())?); [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] 350 - return Ok(OpType::create_with_token(TokenTag::OR, "OR".to_string())?); [INFO] [stdout] 350 + return OpType::create_with_token(TokenTag::OR, "OR".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:353:28 [INFO] [stdout] | [INFO] [stdout] 353 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 354 | | TokenTag::OTHER, [INFO] [stdout] 355 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 356 | | )?); [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] 353 ~ return Other::create_with_token_and_val( [INFO] [stdout] 354 | TokenTag::OTHER, [INFO] [stdout] 355 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 356 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:360:32 [INFO] [stdout] | [INFO] [stdout] 360 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:367:28 [INFO] [stdout] | [INFO] [stdout] 367 | return Ok(OpType::create_with_token( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 368 | | TokenTag::EQUALS, [INFO] [stdout] 369 | | "EQUALS".to_string(), [INFO] [stdout] 370 | | )?); [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] 367 ~ return OpType::create_with_token( [INFO] [stdout] 368 | TokenTag::EQUALS, [INFO] [stdout] 369 | "EQUALS".to_string(), [INFO] [stdout] 370 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:373:28 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 374 | | TokenTag::OTHER, [INFO] [stdout] 375 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 376 | | )?); [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] 373 ~ return Other::create_with_token_and_val( [INFO] [stdout] 374 | TokenTag::OTHER, [INFO] [stdout] 375 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 376 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:383:36 [INFO] [stdout] | [INFO] [stdout] 383 | let cur_peek = self.peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:385:32 [INFO] [stdout] | [INFO] [stdout] 385 | return Ok(OpType::create_with_token( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 386 | | TokenTag::STR, [INFO] [stdout] 387 | | s, [INFO] [stdout] 388 | | )?); [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] 385 ~ return OpType::create_with_token( [INFO] [stdout] 386 | TokenTag::STR, [INFO] [stdout] 387 | s, [INFO] [stdout] 388 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:396:12 [INFO] [stdout] | [INFO] [stdout] 396 | if self.peek.as_ref().unwrap_or(&' ').clone().is_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `(*self.peek.as_ref().unwrap_or(&' '))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/token.rs:399:58 [INFO] [stdout] | [INFO] [stdout] 399 | v = 10 * v + self.peek.unwrap().to_digit(10 as u32).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: try: `10_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:400:32 [INFO] [stdout] | [INFO] [stdout] 400 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | if !self.peek.as_ref().unwrap_or(&' ').clone().is_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `(*self.peek.as_ref().unwrap_or(&' '))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:407:20 [INFO] [stdout] | [INFO] [stdout] 407 | return Ok(Num::create_with_token_and_val( [INFO] [stdout] | ____________________^ [INFO] [stdout] 408 | | TokenTag::NUM, [INFO] [stdout] 409 | | v.to_string(), [INFO] [stdout] 410 | | )?); [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] 407 ~ return Num::create_with_token_and_val( [INFO] [stdout] 408 | TokenTag::NUM, [INFO] [stdout] 409 | v.to_string(), [INFO] [stdout] 410 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | if self.peek.as_ref().unwrap_or(&' ').clone() == '$' && self.read_next('{')? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:417:32 [INFO] [stdout] | [INFO] [stdout] 417 | let peek_num = self.peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/token.rs:419:24 [INFO] [stdout] | [INFO] [stdout] 419 | || (peek_num >= 'a' && peek_num <= 'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&peek_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/token.rs:420:24 [INFO] [stdout] | [INFO] [stdout] 420 | || (peek_num >= 'A' && peek_num <= 'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&peek_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:424:28 [INFO] [stdout] | [INFO] [stdout] 424 | return Ok(Var::create_with_token_and_val(TokenTag::VAR, id)?); [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] 424 - return Ok(Var::create_with_token_and_val(TokenTag::VAR, id)?); [INFO] [stdout] 424 + return Var::create_with_token_and_val(TokenTag::VAR, id); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return Ok(Value::BOOL(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return Ok(Value::BOOL(val)); [INFO] [stdout] 58 + Ok(Value::BOOL(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | / return Err(AstError::ARG_NOT_CORRECT( [INFO] [stdout] 102 | | "Arg's format is not correct for mod ".to_string(), [INFO] [stdout] 103 | | )); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Err(AstError::ARG_NOT_CORRECT( [INFO] [stdout] 102 + "Arg's format is not correct for mod ".to_string(), [INFO] [stdout] 103 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:85:20 [INFO] [stdout] | [INFO] [stdout] 85 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | return Ok(Value::BOOL(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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(Value::BOOL(val)); [INFO] [stdout] 146 + Ok(Value::BOOL(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `arg` after checking its variant with `is_some` [INFO] [stdout] --> src/ast.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 181 | if arg.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = arg` [INFO] [stdout] 182 | let arg = arg.unwrap().eval(ctx.clone())?; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | return Ok(Value::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] 188 - return Ok(Value::BOOL(false)); [INFO] [stdout] 188 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:173:20 [INFO] [stdout] | [INFO] [stdout] 173 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | return Ok(Value::BOOL(arg0 == arg1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 246 - return Ok(Value::BOOL(arg0 == arg1)); [INFO] [stdout] 246 + Ok(Value::BOOL(arg0 == arg1)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:265:17 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(Value::INT(i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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(Value::INT(i)); [INFO] [stdout] 265 + Ok(Value::INT(i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | / return Err(AstError::EVAL_NUM_FAILED( [INFO] [stdout] 269 | | "eval number failed!maybe it's not a number".to_string(), [INFO] [stdout] 270 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 268 ~ Err(AstError::EVAL_NUM_FAILED( [INFO] [stdout] 269 + "eval number failed!maybe it's not a number".to_string(), [INFO] [stdout] 270 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | return Ok(Value::STR(self.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] 289 - return Ok(Value::STR(self.token.lexeme())); [INFO] [stdout] 289 + Ok(Value::STR(self.token.lexeme())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `val` after checking its variant with `is_none` [INFO] [stdout] --> src/ast.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 308 | if val.is_none() { [INFO] [stdout] | ---------------- help: try: `if let Some() = val` [INFO] [stdout] ... [INFO] [stdout] 311 | return Ok(val.unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(Value::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] 309 - return Ok(Value::BOOL(false)); [INFO] [stdout] 309 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | return Ok(val.unwrap().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] 311 - return Ok(val.unwrap().clone()); [INFO] [stdout] 311 + Ok(val.unwrap().clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:331:13 [INFO] [stdout] | [INFO] [stdout] 331 | return Ok(Value::BOOL(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] 331 - return Ok(Value::BOOL(true)); [INFO] [stdout] 331 + Ok(Value::BOOL(true)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | return Ok(Value::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] 333 - return Ok(Value::BOOL(false)); [INFO] [stdout] 333 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | 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] 379 - return Ok(expr); [INFO] [stdout] 379 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:394:29 [INFO] [stdout] | [INFO] [stdout] 394 | ... return Ok(a); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 394 - return Ok(a); [INFO] [stdout] 394 + Ok(a) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:411:29 [INFO] [stdout] | [INFO] [stdout] 411 | ... return Ok(a); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 411 - return Ok(a); [INFO] [stdout] 411 + Ok(a) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:414:29 [INFO] [stdout] | [INFO] [stdout] 414 | / ... return Err(AstError::NOT_SUPP_OPER( [INFO] [stdout] 415 | | ... "Not supported operator!".to_string(), [INFO] [stdout] 416 | | ... )); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 414 ~ Err(AstError::NOT_SUPP_OPER( [INFO] [stdout] 415 + "Not supported operator!".to_string(), [INFO] [stdout] 416 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | return Ok(Box::new(Num::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 425 - return Ok(Box::new(Num::create(token.unwrap())?)); [INFO] [stdout] 425 + Ok(Box::new(Num::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | return Ok(Box::new(Str::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return Ok(Box::new(Str::create(token.unwrap())?)); [INFO] [stdout] 432 + Ok(Box::new(Str::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:440:21 [INFO] [stdout] | [INFO] [stdout] 440 | return Ok(Box::new(Var::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 440 - return Ok(Box::new(Var::create(token.unwrap())?)); [INFO] [stdout] 440 + Ok(Box::new(Var::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:444:21 [INFO] [stdout] | [INFO] [stdout] 444 | / return Err(AstError::OTHER( [INFO] [stdout] 445 | | "Not find available token tag to process".to_string(), [INFO] [stdout] 446 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 444 ~ Err(AstError::OTHER( [INFO] [stdout] 445 + "Not find available token tag to process".to_string(), [INFO] [stdout] 446 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | return Err(AstError::OTHER("Current token is none!".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] 450 - return Err(AstError::OTHER("Current token is none!".to_string())); [INFO] [stdout] 450 + Err(AstError::OTHER("Current token is none!".to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:397:36 [INFO] [stdout] | [INFO] [stdout] 397 | ... return Ok(self.args_add(TokenTag::OR, "OR".to_string())?); [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] 397 - return Ok(self.args_add(TokenTag::OR, "OR".to_string())?); [INFO] [stdout] 397 + return self.args_add(TokenTag::OR, "OR".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:400:36 [INFO] [stdout] | [INFO] [stdout] 400 | ... return Ok(self.args_add(TokenTag::MOD, "MOD".to_string())?); [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] 400 - return Ok(self.args_add(TokenTag::MOD, "MOD".to_string())?); [INFO] [stdout] 400 + return self.args_add(TokenTag::MOD, "MOD".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:403:36 [INFO] [stdout] | [INFO] [stdout] 403 | ... return Ok(self.args_add(TokenTag::EQUALS, "EQUALS".to_string())?); [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] 403 - return Ok(self.args_add(TokenTag::EQUALS, "EQUALS".to_string())?); [INFO] [stdout] 403 + return self.args_add(TokenTag::EQUALS, "EQUALS".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:495:9 [INFO] [stdout] | [INFO] [stdout] 495 | / return Err(AstError::OTHER( [INFO] [stdout] 496 | | "Serious problem!!!!!!!!Should not be here".to_string(), [INFO] [stdout] 497 | | )); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 495 ~ Err(AstError::OTHER( [INFO] [stdout] 496 + "Serious problem!!!!!!!!Should not be here".to_string(), [INFO] [stdout] 497 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | return Ok(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] 505 - return Ok(true); [INFO] [stdout] 505 + Ok(true) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:511:25 [INFO] [stdout] | [INFO] [stdout] 511 | return Ok(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] 511 - return Ok(false); [INFO] [stdout] 511 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | / return Err(AstError::LEXER_FAILED( [INFO] [stdout] 515 | | "Lexer move token failed!".to_string(), [INFO] [stdout] 516 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Err(AstError::LEXER_FAILED( [INFO] [stdout] 515 + "Lexer move token failed!".to_string(), [INFO] [stdout] 516 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:528:21 [INFO] [stdout] | [INFO] [stdout] 528 | 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] 528 - return Ok(()); [INFO] [stdout] 528 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:530:21 [INFO] [stdout] | [INFO] [stdout] 530 | / return Err(AstError::NOT_MATCH( [INFO] [stdout] 531 | | "Expected is not match with current".to_string(), [INFO] [stdout] 532 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 530 ~ Err(AstError::NOT_MATCH( [INFO] [stdout] 531 + "Expected is not match with current".to_string(), [INFO] [stdout] 532 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:536:17 [INFO] [stdout] | [INFO] [stdout] 536 | / return Err(AstError::NO_TOKEN_MATCH( [INFO] [stdout] 537 | | "There is not token is current parser status".to_string(), [INFO] [stdout] 538 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 536 ~ Err(AstError::NO_TOKEN_MATCH( [INFO] [stdout] 537 + "There is not token is current parser status".to_string(), [INFO] [stdout] 538 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/token.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | READ_TO_END(String), [INFO] [stdout] | ----------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErrCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 22 - READ_TO_END(String), [INFO] [stdout] 22 + READ_TO_END(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/token.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | OTHER(String), [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErrCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 - OTHER(String), [INFO] [stdout] 23 + OTHER(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_simple_in` is never used [INFO] [stdout] --> src/ast.rs:550:8 [INFO] [stdout] | [INFO] [stdout] 550 | fn test_simple_in() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AND` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | AND, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `And` [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: name `MOD` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | MOD, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mod` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `EQUALS` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | EQUALS, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Equals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `VAR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | VAR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Var` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OTHER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | OTHER, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `NUM` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NUM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Num` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STR` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | STR, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OTHER` contains a capitalized acronym [INFO] [stdout] --> src/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | OTHER(String), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | return &self.tag; [INFO] [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] 68 - return &self.tag; [INFO] [stdout] 68 + &self.tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return self.lexeme.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] 71 - return self.lexeme.clone(); [INFO] [stdout] 71 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 96 - return &self.token_tag; [INFO] [stdout] 96 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | return self.s.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] 99 - return self.s.clone(); [INFO] [stdout] 99 + self.s.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/token.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if !lexeme.parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `lexeme.parse::().is_err()` [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: unneeded `return` statement [INFO] [stdout] --> src/token.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return &self.token_tag; [INFO] [stdout] 130 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | return self.lexeme.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] 134 - return self.lexeme.clone(); [INFO] [stdout] 134 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return &self.token_tag; [INFO] [stdout] 159 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return self.s.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] 162 - return self.s.clone(); [INFO] [stdout] 162 + self.s.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:183:9 [INFO] [stdout] | [INFO] [stdout] 183 | return &self.token_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 183 - return &self.token_tag; [INFO] [stdout] 183 + &self.token_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/token.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | return self.lexeme.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] 186 - return self.lexeme.clone(); [INFO] [stdout] 186 + self.lexeme.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:208:43 [INFO] [stdout] | [INFO] [stdout] 208 | reserved.insert(and_ops.lexeme(), Arc::new(and_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:209:42 [INFO] [stdout] | [INFO] [stdout] 209 | reserved.insert(or_ops.lexeme(), Arc::new(or_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:210:43 [INFO] [stdout] | [INFO] [stdout] 210 | reserved.insert(mod_ops.lexeme(), Arc::new(mod_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:211:42 [INFO] [stdout] | [INFO] [stdout] 211 | reserved.insert(in_ops.lexeme(), Arc::new(in_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/token.rs:212:42 [INFO] [stdout] | [INFO] [stdout] 212 | reserved.insert(eq_ops.lexeme(), Arc::new(eq_ops)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Box` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Box` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/token.rs:224:57 [INFO] [stdout] | [INFO] [stdout] 224 | fn read(step: &mut i32, peek: &mut Option, c: &Vec) -> Result<(), ErrCode> { [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] 224 - fn read(step: &mut i32, peek: &mut Option, c: &Vec) -> Result<(), ErrCode> { [INFO] [stdout] 224 + fn read(step: &mut i32, peek: &mut Option, c: &[char]) -> Result<(), ErrCode> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:228:30 [INFO] [stdout] | [INFO] [stdout] 228 | peek.replace(i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*i` [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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/token.rs:240:12 [INFO] [stdout] | [INFO] [stdout] 240 | c: &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] 240 - c: &Vec, [INFO] [stdout] 240 + c: &[char], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:250:34 [INFO] [stdout] | [INFO] [stdout] 250 | peek.replace(i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | let peek = peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | / Ok(Other::create_with_token_and_val( [INFO] [stdout] 434 | | TokenTag::OTHER, [INFO] [stdout] 435 | | self.peek.unwrap(), [INFO] [stdout] 436 | | )?) [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] 433 ~ Other::create_with_token_and_val( [INFO] [stdout] 434 | TokenTag::OTHER, [INFO] [stdout] 435 | self.peek.unwrap(), [INFO] [stdout] 436 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ________________________^ [INFO] [stdout] 301 | | TokenTag::LEFT_BRACKET, [INFO] [stdout] 302 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 303 | | )?); [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] 300 ~ return Other::create_with_token_and_val( [INFO] [stdout] 301 | TokenTag::LEFT_BRACKET, [INFO] [stdout] 302 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 303 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:302:21 [INFO] [stdout] | [INFO] [stdout] 302 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:306:24 [INFO] [stdout] | [INFO] [stdout] 306 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ________________________^ [INFO] [stdout] 307 | | TokenTag::RIGHT_BRACKET, [INFO] [stdout] 308 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 309 | | )?); [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] 306 ~ return Other::create_with_token_and_val( [INFO] [stdout] 307 | TokenTag::RIGHT_BRACKET, [INFO] [stdout] 308 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 309 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:308:21 [INFO] [stdout] | [INFO] [stdout] 308 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:312:32 [INFO] [stdout] | [INFO] [stdout] 312 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:314:28 [INFO] [stdout] | [INFO] [stdout] 314 | return Ok(OpType::create_with_token(TokenTag::IN, "IN".to_string())?); [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] 314 - return Ok(OpType::create_with_token(TokenTag::IN, "IN".to_string())?); [INFO] [stdout] 314 + return OpType::create_with_token(TokenTag::IN, "IN".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:317:28 [INFO] [stdout] | [INFO] [stdout] 317 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 318 | | TokenTag::OTHER, [INFO] [stdout] 319 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 320 | | )?); [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] 317 ~ return Other::create_with_token_and_val( [INFO] [stdout] 318 | TokenTag::OTHER, [INFO] [stdout] 319 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 320 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:319:25 [INFO] [stdout] | [INFO] [stdout] 319 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:324:32 [INFO] [stdout] | [INFO] [stdout] 324 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:326:28 [INFO] [stdout] | [INFO] [stdout] 326 | return Ok(OpType::create_with_token(TokenTag::MOD, "MOD".to_string())?); [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] 326 - return Ok(OpType::create_with_token(TokenTag::MOD, "MOD".to_string())?); [INFO] [stdout] 326 + return OpType::create_with_token(TokenTag::MOD, "MOD".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:329:28 [INFO] [stdout] | [INFO] [stdout] 329 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 330 | | TokenTag::OTHER, [INFO] [stdout] 331 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 332 | | )?); [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] 329 ~ return Other::create_with_token_and_val( [INFO] [stdout] 330 | TokenTag::OTHER, [INFO] [stdout] 331 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 332 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:331:25 [INFO] [stdout] | [INFO] [stdout] 331 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:336:32 [INFO] [stdout] | [INFO] [stdout] 336 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:338:28 [INFO] [stdout] | [INFO] [stdout] 338 | return Ok(OpType::create_with_token(TokenTag::AND, "AND".to_string())?); [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] 338 - return Ok(OpType::create_with_token(TokenTag::AND, "AND".to_string())?); [INFO] [stdout] 338 + return OpType::create_with_token(TokenTag::AND, "AND".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:341:28 [INFO] [stdout] | [INFO] [stdout] 341 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 342 | | TokenTag::OTHER, [INFO] [stdout] 343 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 344 | | )?); [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] 341 ~ return Other::create_with_token_and_val( [INFO] [stdout] 342 | TokenTag::OTHER, [INFO] [stdout] 343 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 344 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:348:32 [INFO] [stdout] | [INFO] [stdout] 348 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:350:28 [INFO] [stdout] | [INFO] [stdout] 350 | return Ok(OpType::create_with_token(TokenTag::OR, "OR".to_string())?); [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] 350 - return Ok(OpType::create_with_token(TokenTag::OR, "OR".to_string())?); [INFO] [stdout] 350 + return OpType::create_with_token(TokenTag::OR, "OR".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:353:28 [INFO] [stdout] | [INFO] [stdout] 353 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 354 | | TokenTag::OTHER, [INFO] [stdout] 355 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 356 | | )?); [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] 353 ~ return Other::create_with_token_and_val( [INFO] [stdout] 354 | TokenTag::OTHER, [INFO] [stdout] 355 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 356 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:355:25 [INFO] [stdout] | [INFO] [stdout] 355 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:360:32 [INFO] [stdout] | [INFO] [stdout] 360 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:367:28 [INFO] [stdout] | [INFO] [stdout] 367 | return Ok(OpType::create_with_token( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 368 | | TokenTag::EQUALS, [INFO] [stdout] 369 | | "EQUALS".to_string(), [INFO] [stdout] 370 | | )?); [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] 367 ~ return OpType::create_with_token( [INFO] [stdout] 368 | TokenTag::EQUALS, [INFO] [stdout] 369 | "EQUALS".to_string(), [INFO] [stdout] 370 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:373:28 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(Other::create_with_token_and_val( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 374 | | TokenTag::OTHER, [INFO] [stdout] 375 | | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 376 | | )?); [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] 373 ~ return Other::create_with_token_and_val( [INFO] [stdout] 374 | TokenTag::OTHER, [INFO] [stdout] 375 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] 376 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | self.peek.as_ref().unwrap_or(&' ').clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:383:36 [INFO] [stdout] | [INFO] [stdout] 383 | let cur_peek = self.peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:385:32 [INFO] [stdout] | [INFO] [stdout] 385 | return Ok(OpType::create_with_token( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 386 | | TokenTag::STR, [INFO] [stdout] 387 | | s, [INFO] [stdout] 388 | | )?); [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] 385 ~ return OpType::create_with_token( [INFO] [stdout] 386 | TokenTag::STR, [INFO] [stdout] 387 | s, [INFO] [stdout] 388 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:396:12 [INFO] [stdout] | [INFO] [stdout] 396 | if self.peek.as_ref().unwrap_or(&' ').clone().is_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `(*self.peek.as_ref().unwrap_or(&' '))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/token.rs:399:58 [INFO] [stdout] | [INFO] [stdout] 399 | v = 10 * v + self.peek.unwrap().to_digit(10 as u32).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: try: `10_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:400:32 [INFO] [stdout] | [INFO] [stdout] 400 | let ori_step = self.cur_step.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cur_step` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | if !self.peek.as_ref().unwrap_or(&' ').clone().is_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `(*self.peek.as_ref().unwrap_or(&' '))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:407:20 [INFO] [stdout] | [INFO] [stdout] 407 | return Ok(Num::create_with_token_and_val( [INFO] [stdout] | ____________________^ [INFO] [stdout] 408 | | TokenTag::NUM, [INFO] [stdout] 409 | | v.to_string(), [INFO] [stdout] 410 | | )?); [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] 407 ~ return Num::create_with_token_and_val( [INFO] [stdout] 408 | TokenTag::NUM, [INFO] [stdout] 409 | v.to_string(), [INFO] [stdout] 410 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | if self.peek.as_ref().unwrap_or(&' ').clone() == '$' && self.read_next('{')? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/token.rs:417:32 [INFO] [stdout] | [INFO] [stdout] 417 | let peek_num = self.peek.as_ref().unwrap_or(&' ').clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.peek.as_ref().unwrap_or(&' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/token.rs:419:24 [INFO] [stdout] | [INFO] [stdout] 419 | || (peek_num >= 'a' && peek_num <= 'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&peek_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/token.rs:420:24 [INFO] [stdout] | [INFO] [stdout] 420 | || (peek_num >= 'A' && peek_num <= 'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&peek_num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/token.rs:424:28 [INFO] [stdout] | [INFO] [stdout] 424 | return Ok(Var::create_with_token_and_val(TokenTag::VAR, id)?); [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] 424 - return Ok(Var::create_with_token_and_val(TokenTag::VAR, id)?); [INFO] [stdout] 424 + return Var::create_with_token_and_val(TokenTag::VAR, id); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return Ok(Value::BOOL(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return Ok(Value::BOOL(val)); [INFO] [stdout] 58 + Ok(Value::BOOL(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | / return Err(AstError::ARG_NOT_CORRECT( [INFO] [stdout] 102 | | "Arg's format is not correct for mod ".to_string(), [INFO] [stdout] 103 | | )); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Err(AstError::ARG_NOT_CORRECT( [INFO] [stdout] 102 + "Arg's format is not correct for mod ".to_string(), [INFO] [stdout] 103 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:85:20 [INFO] [stdout] | [INFO] [stdout] 85 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | return Ok(Value::BOOL(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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(Value::BOOL(val)); [INFO] [stdout] 146 + Ok(Value::BOOL(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `arg` after checking its variant with `is_some` [INFO] [stdout] --> src/ast.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 181 | if arg.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = arg` [INFO] [stdout] 182 | let arg = arg.unwrap().eval(ctx.clone())?; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | return Ok(Value::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] 188 - return Ok(Value::BOOL(false)); [INFO] [stdout] 188 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:173:20 [INFO] [stdout] | [INFO] [stdout] 173 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | return Ok(Value::BOOL(arg0 == arg1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 246 - return Ok(Value::BOOL(arg0 == arg1)); [INFO] [stdout] 246 + Ok(Value::BOOL(arg0 == arg1)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `self.args.get(0)` [INFO] [stdout] --> src/ast.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | let arg0 = self.args.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `self.args.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:265:17 [INFO] [stdout] | [INFO] [stdout] 265 | return Ok(Value::INT(i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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(Value::INT(i)); [INFO] [stdout] 265 + Ok(Value::INT(i)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | / return Err(AstError::EVAL_NUM_FAILED( [INFO] [stdout] 269 | | "eval number failed!maybe it's not a number".to_string(), [INFO] [stdout] 270 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 268 ~ Err(AstError::EVAL_NUM_FAILED( [INFO] [stdout] 269 + "eval number failed!maybe it's not a number".to_string(), [INFO] [stdout] 270 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | return Ok(Value::STR(self.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] 289 - return Ok(Value::STR(self.token.lexeme())); [INFO] [stdout] 289 + Ok(Value::STR(self.token.lexeme())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `val` after checking its variant with `is_none` [INFO] [stdout] --> src/ast.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 308 | if val.is_none() { [INFO] [stdout] | ---------------- help: try: `if let Some() = val` [INFO] [stdout] ... [INFO] [stdout] 311 | return Ok(val.unwrap().clone()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | return Ok(Value::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] 309 - return Ok(Value::BOOL(false)); [INFO] [stdout] 309 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | return Ok(val.unwrap().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] 311 - return Ok(val.unwrap().clone()); [INFO] [stdout] 311 + Ok(val.unwrap().clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:331:13 [INFO] [stdout] | [INFO] [stdout] 331 | return Ok(Value::BOOL(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] 331 - return Ok(Value::BOOL(true)); [INFO] [stdout] 331 + Ok(Value::BOOL(true)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:333:13 [INFO] [stdout] | [INFO] [stdout] 333 | return Ok(Value::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] 333 - return Ok(Value::BOOL(false)); [INFO] [stdout] 333 + Ok(Value::BOOL(false)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | 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] 379 - return Ok(expr); [INFO] [stdout] 379 + Ok(expr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:394:29 [INFO] [stdout] | [INFO] [stdout] 394 | ... return Ok(a); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 394 - return Ok(a); [INFO] [stdout] 394 + Ok(a) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:411:29 [INFO] [stdout] | [INFO] [stdout] 411 | ... return Ok(a); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 411 - return Ok(a); [INFO] [stdout] 411 + Ok(a) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:414:29 [INFO] [stdout] | [INFO] [stdout] 414 | / ... return Err(AstError::NOT_SUPP_OPER( [INFO] [stdout] 415 | | ... "Not supported operator!".to_string(), [INFO] [stdout] 416 | | ... )); [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 414 ~ Err(AstError::NOT_SUPP_OPER( [INFO] [stdout] 415 + "Not supported operator!".to_string(), [INFO] [stdout] 416 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | return Ok(Box::new(Num::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 425 - return Ok(Box::new(Num::create(token.unwrap())?)); [INFO] [stdout] 425 + Ok(Box::new(Num::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | return Ok(Box::new(Str::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return Ok(Box::new(Str::create(token.unwrap())?)); [INFO] [stdout] 432 + Ok(Box::new(Str::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:440:21 [INFO] [stdout] | [INFO] [stdout] 440 | return Ok(Box::new(Var::create(token.unwrap())?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 440 - return Ok(Box::new(Var::create(token.unwrap())?)); [INFO] [stdout] 440 + Ok(Box::new(Var::create(token.unwrap())?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:444:21 [INFO] [stdout] | [INFO] [stdout] 444 | / return Err(AstError::OTHER( [INFO] [stdout] 445 | | "Not find available token tag to process".to_string(), [INFO] [stdout] 446 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 444 ~ Err(AstError::OTHER( [INFO] [stdout] 445 + "Not find available token tag to process".to_string(), [INFO] [stdout] 446 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | return Err(AstError::OTHER("Current token is none!".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] 450 - return Err(AstError::OTHER("Current token is none!".to_string())); [INFO] [stdout] 450 + Err(AstError::OTHER("Current token is none!".to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:397:36 [INFO] [stdout] | [INFO] [stdout] 397 | ... return Ok(self.args_add(TokenTag::OR, "OR".to_string())?); [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] 397 - return Ok(self.args_add(TokenTag::OR, "OR".to_string())?); [INFO] [stdout] 397 + return self.args_add(TokenTag::OR, "OR".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:400:36 [INFO] [stdout] | [INFO] [stdout] 400 | ... return Ok(self.args_add(TokenTag::MOD, "MOD".to_string())?); [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] 400 - return Ok(self.args_add(TokenTag::MOD, "MOD".to_string())?); [INFO] [stdout] 400 + return self.args_add(TokenTag::MOD, "MOD".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/ast.rs:403:36 [INFO] [stdout] | [INFO] [stdout] 403 | ... return Ok(self.args_add(TokenTag::EQUALS, "EQUALS".to_string())?); [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] 403 - return Ok(self.args_add(TokenTag::EQUALS, "EQUALS".to_string())?); [INFO] [stdout] 403 + return self.args_add(TokenTag::EQUALS, "EQUALS".to_string()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:495:9 [INFO] [stdout] | [INFO] [stdout] 495 | / return Err(AstError::OTHER( [INFO] [stdout] 496 | | "Serious problem!!!!!!!!Should not be here".to_string(), [INFO] [stdout] 497 | | )); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 495 ~ Err(AstError::OTHER( [INFO] [stdout] 496 + "Serious problem!!!!!!!!Should not be here".to_string(), [INFO] [stdout] 497 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | return Ok(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] 505 - return Ok(true); [INFO] [stdout] 505 + Ok(true) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:511:25 [INFO] [stdout] | [INFO] [stdout] 511 | return Ok(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] 511 - return Ok(false); [INFO] [stdout] 511 + Ok(false) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | / return Err(AstError::LEXER_FAILED( [INFO] [stdout] 515 | | "Lexer move token failed!".to_string(), [INFO] [stdout] 516 | | )); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Err(AstError::LEXER_FAILED( [INFO] [stdout] 515 + "Lexer move token failed!".to_string(), [INFO] [stdout] 516 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:528:21 [INFO] [stdout] | [INFO] [stdout] 528 | 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] 528 - return Ok(()); [INFO] [stdout] 528 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:530:21 [INFO] [stdout] | [INFO] [stdout] 530 | / return Err(AstError::NOT_MATCH( [INFO] [stdout] 531 | | "Expected is not match with current".to_string(), [INFO] [stdout] 532 | | )); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 530 ~ Err(AstError::NOT_MATCH( [INFO] [stdout] 531 + "Expected is not match with current".to_string(), [INFO] [stdout] 532 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/ast.rs:536:17 [INFO] [stdout] | [INFO] [stdout] 536 | / return Err(AstError::NO_TOKEN_MATCH( [INFO] [stdout] 537 | | "There is not token is current parser status".to_string(), [INFO] [stdout] 538 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 536 ~ Err(AstError::NO_TOKEN_MATCH( [INFO] [stdout] 537 + "There is not token is current parser status".to_string(), [INFO] [stdout] 538 ~ )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] running `Command { std: "docker" "inspect" "f47f748c40977b89a17817b0abd34cf6893cba8f3d5f2c67b843aa0ca27f1ae3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f47f748c40977b89a17817b0abd34cf6893cba8f3d5f2c67b843aa0ca27f1ae3", kill_on_drop: false }` [INFO] [stdout] f47f748c40977b89a17817b0abd34cf6893cba8f3d5f2c67b843aa0ca27f1ae3