[INFO] cloning repository https://github.com/tsj845/lang-3 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsj845/lang-3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsj845%2Flang-3", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsj845%2Flang-3'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e1254606f601c10a212423149c97b84469ef9ec5 [INFO] linting tsj845/lang-3 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsj845%2Flang-3" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tsj845/lang-3 [INFO] finished tweaking git repo https://github.com/tsj845/lang-3 [INFO] tweaked toml for git repo https://github.com/tsj845/lang-3 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tsj845/lang-3 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/tsj845/lang-3 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] Downloading crates ... [INFO] [stderr] Downloaded thread-id v2.0.0 [INFO] [stderr] Downloaded utf8-ranges v0.1.3 [INFO] [stderr] Downloaded memchr v0.1.11 [INFO] [stderr] Downloaded thread_local v0.2.7 [INFO] [stderr] Downloaded regex-syntax v0.3.9 [INFO] [stderr] Downloaded regex v0.1.80 [INFO] [stderr] Downloaded aho-corasick v0.5.3 [INFO] [stderr] Downloaded libc v0.2.118 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 3e8d4de9c9a7bd16be7b1972dd98ea0cd11b0c938d09de4b28044b31d1780fd3 [INFO] running `Command { std: "docker" "start" "-a" "3e8d4de9c9a7bd16be7b1972dd98ea0cd11b0c938d09de4b28044b31d1780fd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e8d4de9c9a7bd16be7b1972dd98ea0cd11b0c938d09de4b28044b31d1780fd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e8d4de9c9a7bd16be7b1972dd98ea0cd11b0c938d09de4b28044b31d1780fd3", kill_on_drop: false }` [INFO] [stdout] 3e8d4de9c9a7bd16be7b1972dd98ea0cd11b0c938d09de4b28044b31d1780fd3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 917f3c20f10019837628711fe0ad9497a6e5cf5e8c0efcd3c0879bd382d39d41 [INFO] running `Command { std: "docker" "start" "-a" "917f3c20f10019837628711fe0ad9497a6e5cf5e8c0efcd3c0879bd382d39d41", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.118 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking utf8-ranges v0.1.3 [INFO] [stderr] Checking regex-syntax v0.3.9 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking getrandom v0.2.5 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking lang-1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/statics.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 226 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 232 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:245:4 [INFO] [stdout] | [INFO] [stdout] 245 | cid : cid, [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `cid` [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/statics.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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: empty line after doc comment [INFO] [stdout] --> src/scopes.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / /** [INFO] [stdout] 7 | | * variable flags [INFO] [stdout] 8 | | * (in order from rtl in the bits of a number) [INFO] [stdout] 9 | | * 0 - read direction (0 for read up, 1 for read down) [INFO] [stdout] ... | [INFO] [stdout] 17 | | */ [INFO] [stdout] 18 | | [INFO] [stdout] | |_^ [INFO] [stdout] 19 | pub struct VarScopes { [INFO] [stdout] | -------------------- the comment documents this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | tokens : tokens, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `tokens` [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: this looks like an `else if` but the `else` is missing [INFO] [stdout] --> src/parser.rs:1355:49 [INFO] [stdout] | [INFO] [stdout] 1355 | let det = |c:char| {if c == ' '{return state;} if c == '"' {state = !state} false}; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_else [INFO] [stdout] = note: `#[warn(clippy::possible_missing_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/statics.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 226 | id : id, [INFO] [stdout] | ^^^^^^^ help: replace it with: `id` [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/statics.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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/statics.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 232 | data_type : data_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_type` [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/statics.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | tt : tt, [INFO] [stdout] | ^^^^^^^ help: replace it with: `tt` [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/statics.rs:245:4 [INFO] [stdout] | [INFO] [stdout] 245 | cid : cid, [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `cid` [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/statics.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | value : value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `value` [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: empty line after doc comment [INFO] [stdout] --> src/scopes.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / /** [INFO] [stdout] 7 | | * variable flags [INFO] [stdout] 8 | | * (in order from rtl in the bits of a number) [INFO] [stdout] 9 | | * 0 - read direction (0 for read up, 1 for read down) [INFO] [stdout] ... | [INFO] [stdout] 17 | | */ [INFO] [stdout] 18 | | [INFO] [stdout] | |_^ [INFO] [stdout] 19 | pub struct VarScopes { [INFO] [stdout] | -------------------- the comment documents this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | tokens : tokens, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `tokens` [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: this looks like an `else if` but the `else` is missing [INFO] [stdout] --> src/parser.rs:1355:49 [INFO] [stdout] | [INFO] [stdout] 1355 | let det = |c:char| {if c == ' '{return state;} if c == '"' {state = !state} false}; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_else [INFO] [stdout] = note: `#[warn(clippy::possible_missing_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:189:3 [INFO] [stdout] | [INFO] [stdout] 189 | return (DT_UDF, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 189 - return (DT_UDF, value); [INFO] [stdout] 189 + (DT_UDF, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:258:3 [INFO] [stdout] | [INFO] [stdout] 258 | return Token::new(id, value.to_string(), tt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 258 - return Token::new(id, value.to_string(), tt); [INFO] [stdout] 258 + Token::new(id, value.to_string(), tt) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return Token::new(id, value.to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 261 - return Token::new(id, value.to_string(), BASE_TOKEN); [INFO] [stdout] 261 + Token::new(id, value.to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:264:3 [INFO] [stdout] | [INFO] [stdout] 264 | return self.tt; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 264 - return self.tt; [INFO] [stdout] 264 + self.tt [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:286:3 [INFO] [stdout] | [INFO] [stdout] 286 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 286 - return false; [INFO] [stdout] 286 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/statics.rs:284:11 [INFO] [stdout] | [INFO] [stdout] 284 | return self.list.as_ref().unwrap().len() > 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.list.as_ref().unwrap().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:289:3 [INFO] [stdout] | [INFO] [stdout] 289 | return self.id == id && self.value == value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 289 - return self.id == id && self.value == value; [INFO] [stdout] 289 + self.id == id && self.value == value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:292:3 [INFO] [stdout] | [INFO] [stdout] 292 | return self.id == id && self.value == value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return self.id == id && self.value == value; [INFO] [stdout] 292 + self.id == id && self.value == value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:302:3 [INFO] [stdout] | [INFO] [stdout] 302 | return Ok(self.dict.as_ref().unwrap().contains_key(key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 302 - return Ok(self.dict.as_ref().unwrap().contains_key(key)); [INFO] [stdout] 302 + Ok(self.dict.as_ref().unwrap().contains_key(key)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:311:3 [INFO] [stdout] | [INFO] [stdout] 311 | 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] 311 - return Ok(()); [INFO] [stdout] 311 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | return Ok(self.dict.as_ref().unwrap().get(&key).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] 318 - return Ok(self.dict.as_ref().unwrap().get(&key).unwrap().clone()); [INFO] [stdout] 318 + Ok(self.dict.as_ref().unwrap().get(&key).unwrap().clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:325:3 [INFO] [stdout] | [INFO] [stdout] 325 | 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] 325 - return Ok(()); [INFO] [stdout] 325 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:332:3 [INFO] [stdout] | [INFO] [stdout] 332 | return Ok(self.dict.as_mut().unwrap().remove(&key).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] 332 - return Ok(self.dict.as_mut().unwrap().remove(&key).unwrap()); [INFO] [stdout] 332 + Ok(self.dict.as_mut().unwrap().remove(&key).unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:345:3 [INFO] [stdout] | [INFO] [stdout] 345 | return Ok(self.list.as_ref().unwrap()[key].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] 345 - return Ok(self.list.as_ref().unwrap()[key].clone()); [INFO] [stdout] 345 + Ok(self.list.as_ref().unwrap()[key].clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:355:3 [INFO] [stdout] | [INFO] [stdout] 355 | 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] 355 - return Ok(()); [INFO] [stdout] 355 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:363:3 [INFO] [stdout] | [INFO] [stdout] 363 | 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] 363 - return Ok(()); [INFO] [stdout] 363 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:373:3 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(self.list.as_mut().unwrap().pop().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] 373 - return Ok(self.list.as_mut().unwrap().pop().unwrap()); [INFO] [stdout] 373 + Ok(self.list.as_mut().unwrap().pop().unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:383:3 [INFO] [stdout] | [INFO] [stdout] 383 | return Ok(self.list.as_mut().unwrap().remove(key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 383 - return Ok(self.list.as_mut().unwrap().remove(key)); [INFO] [stdout] 383 + Ok(self.list.as_mut().unwrap().remove(key)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:394:3 [INFO] [stdout] | [INFO] [stdout] 394 | 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] 394 - return Ok(()); [INFO] [stdout] 394 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:433:3 [INFO] [stdout] | [INFO] [stdout] 433 | return other.id == self.id && other.value == self.value && other.data_type == self.data_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return other.id == self.id && other.value == self.value && other.data_type == self.data_type; [INFO] [stdout] 433 + other.id == self.id && other.value == self.value && other.data_type == self.data_type [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `VarScopes` [INFO] [stdout] --> src/scopes.rs:29:2 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new () -> VarScopes { [INFO] [stdout] 30 | | VarScopes { [INFO] [stdout] 31 | | pointer_mem : HashMap::new(), [INFO] [stdout] 32 | | scopes : vec![HashMap::new()], [INFO] [stdout] ... | [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 28 + impl Default for VarScopes { [INFO] [stdout] 29 + fn default() -> Self { [INFO] [stdout] 30 + Self::new() [INFO] [stdout] 31 + } [INFO] [stdout] 32 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/scopes.rs:52:3 [INFO] [stdout] | [INFO] [stdout] 52 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:91:3 [INFO] [stdout] | [INFO] [stdout] 91 | return 0u8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return 0u8; [INFO] [stdout] 91 + 0u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | return self.gv_flags.get(&varname).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.gv_flags.get(&varname).unwrap()` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:104:3 [INFO] [stdout] | [INFO] [stdout] 104 | return 0u8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return 0u8; [INFO] [stdout] 104 + 0u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | return self.var_flags[i].get(&varname).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[i].get(&varname).unwrap()` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:107:3 [INFO] [stdout] | [INFO] [stdout] 107 | return self.var_flags[scope].get(&varname).unwrap_or(&0u8).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] 107 - return self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone(); [INFO] [stdout] 107 + self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | return self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[scope].get(&varname).unwrap_or(&0u8)` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:110:3 [INFO] [stdout] | [INFO] [stdout] 110 | return self.var_flags[self.scope_count-1].contains_key(&varname); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return self.var_flags[self.scope_count-1].contains_key(&varname); [INFO] [stdout] 110 + self.var_flags[self.scope_count-1].contains_key(&varname) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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 `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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 `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:149:3 [INFO] [stdout] | [INFO] [stdout] 149 | return cand; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 149 - return cand; [INFO] [stdout] 149 + cand [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/scopes.rs:164:19 [INFO] [stdout] | [INFO] [stdout] 164 | for (key, _) in &self.scopes[self.scope_count] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 164 - for (key, _) in &self.scopes[self.scope_count] { [INFO] [stdout] 164 + for key in self.scopes[self.scope_count].keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/scopes.rs:166:29 [INFO] [stdout] | [INFO] [stdout] 166 | self.pointer_mem.remove(&key[5..]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/scopes.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | if key.starts_with("\"ptr ") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 165 ~ if let Some() = key.strip_prefix("\"ptr ") { [INFO] [stdout] 166 ~ self.pointer_mem.remove(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:184:3 [INFO] [stdout] | [INFO] [stdout] 184 | return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 - return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] 184 + Token::news(UDF, "UDF", BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/scopes.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | return self.scopes[i].get(&name.to_string()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:197:3 [INFO] [stdout] | [INFO] [stdout] 197 | return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 197 - return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] 197 + Token::news(UDF, "UDF", BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/scopes.rs:193:31 [INFO] [stdout] | [INFO] [stdout] 193 | return self.scopes[i].get(&name.to_string()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:200:3 [INFO] [stdout] | [INFO] [stdout] 200 | return self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).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] 200 - return self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).clone(); [INFO] [stdout] 200 + self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:218:3 [INFO] [stdout] | [INFO] [stdout] 218 | return self.get_f(name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return self.get_f(name); [INFO] [stdout] 218 + self.get_f(name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | return self.inter_flags.get(varname).unwrap_or(&0u8).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] 330 - return self.inter_flags.get(varname).unwrap_or(&0u8).clone(); [INFO] [stdout] 330 + self.inter_flags.get(varname).unwrap_or(&0u8).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:330:10 [INFO] [stdout] | [INFO] [stdout] 330 | return self.inter_flags.get(varname).unwrap_or(&0u8).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.inter_flags.get(varname).unwrap_or(&0u8)` [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: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:36:2 [INFO] [stdout] | [INFO] [stdout] 36 | return (i, word); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return (i, word); [INFO] [stdout] 36 + (i, word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:6 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !(line[i].is_digit(base) || line[i] == '.' && line[i+1].is_digit(10) && !typedef && !decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if (decu || typedef || !line[i+1].is_digit(10) || line[i] != '.') && !line[i].is_digit(base) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:33 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && !(line[i] == '.' && line[i+1].is_digit(10) && !typedef && !decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (!(line[i] == '.' && line[i+1].is_digit(10) && !typedef) || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (!(line[i] == '.' && line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:63:2 [INFO] [stdout] | [INFO] [stdout] 63 | return (i, num); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return (i, num); [INFO] [stdout] 63 + (i, num) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/tokenize.rs:50:72 [INFO] [stdout] | [INFO] [stdout] 50 | ...i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `line[i+1].is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tokenize.rs:50:140 [INFO] [stdout] | [INFO] [stdout] 50 | ... typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !matches!(line[i], 'x' | 'b')) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tokenize.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | if match line[i] {'x'=>true,'b'=>true,_=>false} { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 56 - if match line[i] {'x'=>true,'b'=>true,_=>false} { [INFO] [stdout] 56 + if matches!(line[i], 'x' | 'b') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:86:2 [INFO] [stdout] | [INFO] [stdout] 86 | return (i, word); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return (i, word); [INFO] [stdout] 86 + (i, word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/tokenize.rs:78:23 [INFO] [stdout] | [INFO] [stdout] 78 | if WORD_RE.is_match(&c) { [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:119:2 [INFO] [stdout] | [INFO] [stdout] 119 | return (i+1, meta, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return (i+1, meta, value); [INFO] [stdout] 119 + (i+1, meta, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/tokenize.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | meta.push(line[i].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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/tokenize.rs:116:14 [INFO] [stdout] | [INFO] [stdout] 116 | value.push(line[i].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:151:3 [INFO] [stdout] | [INFO] [stdout] 151 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 - return (i, tokens, f); [INFO] [stdout] 151 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:188:3 [INFO] [stdout] | [INFO] [stdout] 188 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 (i, tokens, f); [INFO] [stdout] 188 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:191:3 [INFO] [stdout] | [INFO] [stdout] 191 | return (i+1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 191 - return (i+1, tokens, f); [INFO] [stdout] 191 + (i+1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:238:2 [INFO] [stdout] | [INFO] [stdout] 238 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 238 - return (i, tokens, f); [INFO] [stdout] 238 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:270:2 [INFO] [stdout] | [INFO] [stdout] 270 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 270 - return (i, tokens, f); [INFO] [stdout] 270 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:323:2 [INFO] [stdout] | [INFO] [stdout] 323 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 323 - return (i-1, tokens, f); [INFO] [stdout] 323 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:365:2 [INFO] [stdout] | [INFO] [stdout] 365 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 365 - return (i-1, tokens, f); [INFO] [stdout] 365 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:407:2 [INFO] [stdout] | [INFO] [stdout] 407 | return (match i>0{true=>i-1,_=>i}, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 407 - return (match i>0{true=>i-1,_=>i}, tokens, f); [INFO] [stdout] 407 + (match i>0{true=>i-1,_=>i}, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:438:2 [INFO] [stdout] | [INFO] [stdout] 438 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 438 - return (i-1, tokens, f); [INFO] [stdout] 438 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:548:2 [INFO] [stdout] | [INFO] [stdout] 548 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 548 - return (i, tokens, f); [INFO] [stdout] 548 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:646:2 [INFO] [stdout] | [INFO] [stdout] 646 | return fv; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 646 - return fv; [INFO] [stdout] 646 + fv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:562:7 [INFO] [stdout] | [INFO] [stdout] 562 | if tokens[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `tokens[i].value.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:798:2 [INFO] [stdout] | [INFO] [stdout] 798 | return preprocess(tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 798 - return preprocess(tokens); [INFO] [stdout] 798 + preprocess(tokens) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/tokenize.rs:711:49 [INFO] [stdout] | [INFO] [stdout] 711 | ... let x : (usize, String) = get_containing(i, line[i].clone(), get_complement_surround(line[i].clone()), lines[line_index].to_s... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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/tokenize.rs:711:90 [INFO] [stdout] | [INFO] [stdout] 711 | ...clone(), get_complement_surround(line[i].clone()), lines[line_index].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/tokenize.rs:715:14 [INFO] [stdout] | [INFO] [stdout] 715 | } else if line[i].is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `line[i].is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/tokenize.rs:746:5 [INFO] [stdout] | [INFO] [stdout] 746 | / if line[i] == '&' || line[i] == '|' { [INFO] [stdout] 747 | | if line[i+1] == line[i] { [INFO] [stdout] 748 | | i += 1; [INFO] [stdout] 749 | | words.push(line[i].to_string().repeat(2)); [INFO] [stdout] ... | [INFO] [stdout] 753 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 746 ~ if (line[i] == '&' || line[i] == '|') { [INFO] [stdout] 747 ~ && line[i+1] == line[i] { [INFO] [stdout] 748 | i += 1; [INFO] [stdout] ... [INFO] [stdout] 751 | continue; [INFO] [stdout] 752 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `c` is used as a loop counter [INFO] [stdout] --> src/tokenize.rs:766:2 [INFO] [stdout] | [INFO] [stdout] 766 | for word in words { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using: `for (c, word) in words.into_iter().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:767:6 [INFO] [stdout] | [INFO] [stdout] 767 | if word.chars().nth(0).unwrap() == '.' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `word.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:769:13 [INFO] [stdout] | [INFO] [stdout] 769 | } else if word.chars().nth(0).unwrap() == '#' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `word.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Replacer` [INFO] [stdout] --> src/replacer.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new () -> Replacer { [INFO] [stdout] 9 | | Replacer { [INFO] [stdout] 10 | | BACKSLASH : Regex::new(r"\\").unwrap(), [INFO] [stdout] 11 | | } [INFO] [stdout] 12 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Replacer { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/replacer.rs:35:3 [INFO] [stdout] | [INFO] [stdout] 35 | return f; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 35 - return f; [INFO] [stdout] 35 + f [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:58:3 [INFO] [stdout] | [INFO] [stdout] 58 | return &""; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 &""; [INFO] [stdout] 58 + &"" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return false; [INFO] [stdout] 79 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:95:3 [INFO] [stdout] | [INFO] [stdout] 95 | return self.validate(t.data_type, target); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return self.validate(t.data_type, target); [INFO] [stdout] 95 + self.validate(t.data_type, target) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Logger` [INFO] [stdout] --> src/logger.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub fn new () -> Logger { [INFO] [stdout] 10 | | Logger { [INFO] [stdout] 11 | | lines : Vec::new(), [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 8 + impl Default for Logger { [INFO] [stdout] 9 + fn default() -> Self { [INFO] [stdout] 10 + Self::new() [INFO] [stdout] 11 + } [INFO] [stdout] 12 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | return Token::new(UDF, String::from("UDF"), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Token::new(UDF, String::from("UDF"), BASE_TOKEN); [INFO] [stdout] 54 + Token::new(UDF, String::from("UDF"), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:63:3 [INFO] [stdout] | [INFO] [stdout] 63 | return r; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return r; [INFO] [stdout] 63 + r [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - return self.__fault(); [INFO] [stdout] 89 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:106:3 [INFO] [stdout] | [INFO] [stdout] 106 | return Token::new(LIT, v.to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 106 - return Token::new(LIT, v.to_string(), BASE_TOKEN); [INFO] [stdout] 106 + Token::new(LIT, v.to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:132:3 [INFO] [stdout] | [INFO] [stdout] 132 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return self.__fault(); [INFO] [stdout] 132 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:148:3 [INFO] [stdout] | [INFO] [stdout] 148 | return Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 - return Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 148 + Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:168:3 [INFO] [stdout] | [INFO] [stdout] 168 | return Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 168 - return Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 168 + Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:188:3 [INFO] [stdout] | [INFO] [stdout] 188 | return Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 188 - return Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 188 + Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:208:3 [INFO] [stdout] | [INFO] [stdout] 208 | return Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 208 + Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:218:3 [INFO] [stdout] | [INFO] [stdout] 218 | return Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 218 + Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:227:3 [INFO] [stdout] | [INFO] [stdout] 227 | return Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 - return Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] 227 + Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:236:3 [INFO] [stdout] | [INFO] [stdout] 236 | return Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] 236 + Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:259:3 [INFO] [stdout] | [INFO] [stdout] 259 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return self.__fault(); [INFO] [stdout] 259 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:285:3 [INFO] [stdout] | [INFO] [stdout] 285 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 285 - return self.__fault(); [INFO] [stdout] 285 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:288:3 [INFO] [stdout] | [INFO] [stdout] 288 | return self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 288 - return self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2); [INFO] [stdout] 288 + self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:344:3 [INFO] [stdout] | [INFO] [stdout] 344 | ... return self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}); [INFO] [stdout] 344 + self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:411:3 [INFO] [stdout] | [INFO] [stdout] 411 | return Ok(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] 411 - return Ok(i); [INFO] [stdout] 411 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:346:49 [INFO] [stdout] | [INFO] [stdout] 346 | fn printop (&mut self, mut i : usize, tokens : &Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 346 - fn printop (&mut self, mut i : usize, tokens : &Vec) -> Result { [INFO] [stdout] 346 + fn printop (&mut self, mut i : usize, tokens : &[Token]) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:423:3 [INFO] [stdout] | [INFO] [stdout] 423 | return 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] 423 - return i; [INFO] [stdout] 423 + i [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:413:47 [INFO] [stdout] | [INFO] [stdout] 413 | fn dumpscope (&self, mut i : usize, tokens : &Vec) -> usize { [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] 413 - fn dumpscope (&self, mut i : usize, tokens : &Vec) -> usize { [INFO] [stdout] 413 + fn dumpscope (&self, mut i : usize, tokens : &[Token]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:496:3 [INFO] [stdout] | [INFO] [stdout] 496 | return Ok(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] 496 - return Ok(i); [INFO] [stdout] 496 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:613:3 [INFO] [stdout] | [INFO] [stdout] 613 | return Ok(copt); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 613 - return Ok(copt); [INFO] [stdout] 613 + Ok(copt) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:504:3 [INFO] [stdout] | [INFO] [stdout] 504 | / if toks.len() == 0 { [INFO] [stdout] 505 | | if !RUST_ERR { [INFO] [stdout] 506 | | return Err((String::from("no tokens provided"), 0, 0)); [INFO] [stdout] 507 | | } [INFO] [stdout] 508 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 504 ~ if toks.len() == 0 [INFO] [stdout] 505 ~ && !RUST_ERR { [INFO] [stdout] 506 | return Err((String::from("no tokens provided"), 0, 0)); [INFO] [stdout] 507 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:504:6 [INFO] [stdout] | [INFO] [stdout] 504 | if toks.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `toks.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:516:4 [INFO] [stdout] | [INFO] [stdout] 516 | / if toks[i].id == REF { [INFO] [stdout] 517 | | if toks[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] 518 | | // println!("{}", toks[i]); [INFO] [stdout] 519 | | toks[i] = self.derefb(&toks[i])?; [INFO] [stdout] ... | [INFO] [stdout] 522 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 516 ~ if toks[i].id == REF [INFO] [stdout] 517 ~ && toks[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] 518 | // println!("{}", toks[i]); [INFO] [stdout] 519 | toks[i] = self.derefb(&toks[i])?; [INFO] [stdout] 520 | // println!("{}", toks[i]); [INFO] [stdout] 521 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:594:11 [INFO] [stdout] | [INFO] [stdout] 594 | } else if toks[i].id == KEY { [INFO] [stdout] | ____________________^ [INFO] [stdout] 595 | | if toks[i].value == "create" { [INFO] [stdout] 596 | | let tok = self.derefb(&toks[i+1])?; [INFO] [stdout] 597 | | if tok.cid == OBJ { [INFO] [stdout] ... | [INFO] [stdout] 609 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 594 ~ } else if toks[i].id == KEY [INFO] [stdout] 595 ~ && toks[i].value == "create" { [INFO] [stdout] 596 | let tok = self.derefb(&toks[i+1])?; [INFO] [stdout] ... [INFO] [stdout] 607 | } [INFO] [stdout] 608 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:677:3 [INFO] [stdout] | [INFO] [stdout] 677 | return Ok(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] 677 - return Ok(i); [INFO] [stdout] 677 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:669:4 [INFO] [stdout] | [INFO] [stdout] 669 | / if r.id == SIG { [INFO] [stdout] 670 | | if r.value == "BREAK" { [INFO] [stdout] 671 | | break; [INFO] [stdout] 672 | | } [INFO] [stdout] 673 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 669 ~ if r.id == SIG [INFO] [stdout] 670 ~ && r.value == "BREAK" { [INFO] [stdout] 671 | break; [INFO] [stdout] 672 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:707:3 [INFO] [stdout] | [INFO] [stdout] 707 | return Ok(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] 707 - return Ok(i); [INFO] [stdout] 707 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:700:4 [INFO] [stdout] | [INFO] [stdout] 700 | / if r.id == SIG { [INFO] [stdout] 701 | | if r.value == "BREAK" { [INFO] [stdout] 702 | | break; [INFO] [stdout] 703 | | } [INFO] [stdout] 704 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 700 ~ if r.id == SIG [INFO] [stdout] 701 ~ && r.value == "BREAK" { [INFO] [stdout] 702 | break; [INFO] [stdout] 703 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:730:3 [INFO] [stdout] | [INFO] [stdout] 730 | return Ok((i, 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] 730 - return Ok((i, true)); [INFO] [stdout] 730 + Ok((i, true)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:738:3 [INFO] [stdout] | [INFO] [stdout] 738 | return Ok(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] 738 - return Ok(i); [INFO] [stdout] 738 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:764:3 [INFO] [stdout] | [INFO] [stdout] 764 | return Ok(pointer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 764 - return Ok(pointer); [INFO] [stdout] 764 + Ok(pointer) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:771:3 [INFO] [stdout] | [INFO] [stdout] 771 | return pointer; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 771 - return pointer; [INFO] [stdout] 771 + pointer [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:782:3 [INFO] [stdout] | [INFO] [stdout] 782 | return self.func_call(i, &mut tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 782 - return self.func_call(i, &mut tokens); [INFO] [stdout] 782 + self.func_call(i, &mut tokens) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:782:28 [INFO] [stdout] | [INFO] [stdout] 782 | return self.func_call(i, &mut tokens); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:794:3 [INFO] [stdout] | [INFO] [stdout] 794 | return Ok(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 794 - return Ok(obj); [INFO] [stdout] 794 + Ok(obj) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/parser.rs:786:19 [INFO] [stdout] | [INFO] [stdout] 786 | for (key, _) in obj.dict.as_ref().unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 786 - for (key, _) in obj.dict.as_ref().unwrap() { [INFO] [stdout] 786 + for key in obj.dict.as_ref().unwrap().keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1088:3 [INFO] [stdout] | [INFO] [stdout] 1088 | return Ok(self.UDFTOK.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] 1088 - return Ok(self.UDFTOK.clone()); [INFO] [stdout] 1088 + Ok(self.UDFTOK.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:822:37 [INFO] [stdout] | [INFO] [stdout] 822 | } else if show_options.contains(&&&token.value[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `(&&token.value[..])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:900:24 [INFO] [stdout] | [INFO] [stdout] 900 | printlst::(&self.derefp(&self.derefb(&tokens[token_index+1])?)?.list.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.derefp(&self.derefb(&tokens[token_index+1])?)?.list.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/parser.rs:935:6 [INFO] [stdout] | [INFO] [stdout] 935 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/parser.rs:994:6 [INFO] [stdout] | [INFO] [stdout] 994 | let v2 : String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 1007 | v2 = self.eval_exp(lst)?.value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `v2` here [INFO] [stdout] | [INFO] [stdout] 994 ~ [INFO] [stdout] 995 | let mut lst : Vec = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 1006 | } [INFO] [stdout] 1007 ~ let v2 : String = self.eval_exp(lst)?.value; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1015:63 [INFO] [stdout] | [INFO] [stdout] 1015 | ... match tokens[imt].set(index, self.assignment_operation(&operand, va, v2)) {Ok(_)=>{},Err(e)=>{return Err((e, tokens[imt].lin... [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1019:64 [INFO] [stdout] | [INFO] [stdout] 1019 | ... match tokens[imt].setd(index, self.assignment_operation(&operand, va, v2)) {Ok(_)=>{},Err(e)=>{return Err((e, tokens[imt].li... [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1025:58 [INFO] [stdout] | [INFO] [stdout] 1025 | self.memory.set(varname, self.assignment_operation(&operand, self.memory.get(varname).value, v2)); [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1117:3 [INFO] [stdout] | [INFO] [stdout] 1117 | return Ok((i+1, self.eval_exp(toks)?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1117 - return Ok((i+1, self.eval_exp(toks)?)); [INFO] [stdout] 1117 + Ok((i+1, self.eval_exp(toks)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:1090:36 [INFO] [stdout] | [INFO] [stdout] 1090 | fn get_value (&mut self, tokens : &Vec, mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [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] 1090 - fn get_value (&mut self, tokens : &Vec, mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [INFO] [stdout] 1090 + fn get_value (&mut self, tokens : &[Token], mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1163:3 [INFO] [stdout] | [INFO] [stdout] 1163 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1163 - return self.__fault(); [INFO] [stdout] 1163 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/parser.rs:1127:4 [INFO] [stdout] | [INFO] [stdout] 1127 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/parser.rs:1132:13 [INFO] [stdout] | [INFO] [stdout] 1132 | let v = match t.value.parse::() {Ok(x)=>Some(x),_=>None}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `t.value.parse::().ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1217:3 [INFO] [stdout] | [INFO] [stdout] 1217 | return Ok(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] 1217 - return Ok(i); [INFO] [stdout] 1217 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parser.rs:1219:68 [INFO] [stdout] | [INFO] [stdout] 1219 | fn execute (&mut self, mut tokens : Vec, mut i : usize) -> Result<(usize, Token, Vec), (String, usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1329:9 [INFO] [stdout] | [INFO] [stdout] 1329 | return Ok((i, self.__fault(), tokens)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1329 - return Ok((i, self.__fault(), tokens)); [INFO] [stdout] 1329 + Ok((i, self.__fault(), tokens)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1232:3 [INFO] [stdout] | [INFO] [stdout] 1232 | / if is_ptr { [INFO] [stdout] 1233 | | if t.value.find("-super").is_some() { [INFO] [stdout] 1234 | | target = &tva; [INFO] [stdout] 1235 | | is_super = true; [INFO] [stdout] ... | [INFO] [stdout] 1238 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1232 ~ if is_ptr [INFO] [stdout] 1233 ~ && t.value.find("-super").is_some() { [INFO] [stdout] 1234 | target = &tva; [INFO] [stdout] 1235 | is_super = true; [INFO] [stdout] 1236 | } [INFO] [stdout] 1237 ~ // target = match t.value.find("-super").is_some() {true=>&tva,_=>target}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1261:20 [INFO] [stdout] | [INFO] [stdout] 1261 | } else if btype == &"property" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1262 | | if target == "length" { [INFO] [stdout] 1263 | | return Ok((i, Token::new(LIT, (t.value.len()-2).to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1264 | | } [INFO] [stdout] 1265 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1261 ~ } else if btype == &"property" [INFO] [stdout] 1262 ~ && target == "length" { [INFO] [stdout] 1263 | return Ok((i, Token::new(LIT, (t.value.len()-2).to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1264 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1290:20 [INFO] [stdout] | [INFO] [stdout] 1290 | } else if btype == &"property" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1291 | | if target == "length" { [INFO] [stdout] 1292 | | return Ok((i, Token::new(LIT, t.length.to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1293 | | } [INFO] [stdout] 1294 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1290 ~ } else if btype == &"property" [INFO] [stdout] 1291 ~ && target == "length" { [INFO] [stdout] 1292 | return Ok((i, Token::new(LIT, t.length.to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1293 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1300:11 [INFO] [stdout] | [INFO] [stdout] 1300 | } else if btype == &"method" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1301 | | if target == "to_string" { [INFO] [stdout] 1302 | | let x : (usize, Token) = self.get_value(&tokens, i)?; [INFO] [stdout] 1303 | | i = x.0 - 2; [INFO] [stdout] ... | [INFO] [stdout] 1306 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1300 ~ } else if btype == &"method" [INFO] [stdout] 1301 ~ && target == "to_string" { [INFO] [stdout] 1302 | let x : (usize, Token) = self.get_value(&tokens, i)?; [INFO] [stdout] 1303 | i = x.0 - 2; [INFO] [stdout] 1304 | return Ok((i, Token::new(LIT, String::from(r#"""#)+&t.value+r#"""#, BASE_TOKEN), tokens)); [INFO] [stdout] 1305 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1331:64 [INFO] [stdout] | [INFO] [stdout] 1331 | fn __builtin (&mut self, doc : &str, map : &HashMap<&str, u8>) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/parser.rs:1332:6 [INFO] [stdout] | [INFO] [stdout] 1332 | if doc.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `doc.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/parser.rs:1336:6 [INFO] [stdout] | [INFO] [stdout] 1336 | if lines.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:1341:7 [INFO] [stdout] | [INFO] [stdout] 1341 | if lines[i].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines[i].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/parser.rs:1363:29 [INFO] [stdout] | [INFO] [stdout] 1363 | bi_tok.push(Token::newsb(map.get(&tok_strs[i]).unwrap().clone(), tok_strs[i+1])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*map.get(&tok_strs[i]).unwrap()` [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: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1369:26 [INFO] [stdout] | [INFO] [stdout] 1369 | fn __prelude (&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1388:53 [INFO] [stdout] | [INFO] [stdout] 1388 | fn __sysobj (&mut self, name : &str, token : Token) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1396:55 [INFO] [stdout] | [INFO] [stdout] 1396 | fn __sysobj_i (&mut self, name : &str, token : Token) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1403:27 [INFO] [stdout] | [INFO] [stdout] 1403 | pub fn __init (&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `status` after checking its variant with `is_err` [INFO] [stdout] --> src/parser.rs:1427:38 [INFO] [stdout] | [INFO] [stdout] 1426 | if status.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = status` [INFO] [stdout] 1427 | let em : (String, usize, usize) = status.unwrap_err(); [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/parser.rs:1431:3 [INFO] [stdout] | [INFO] [stdout] 1431 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1431 - return 0; [INFO] [stdout] 1431 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1440:2 [INFO] [stdout] | [INFO] [stdout] 1440 | return tokenize(contents); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1440 - return tokenize(contents); [INFO] [stdout] 1440 + tokenize(contents) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:192:39 [INFO] [stdout] | [INFO] [stdout] 192 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:223:39 [INFO] [stdout] | [INFO] [stdout] 223 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:189:3 [INFO] [stdout] | [INFO] [stdout] 189 | return (DT_UDF, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 189 - return (DT_UDF, value); [INFO] [stdout] 189 + (DT_UDF, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:258:3 [INFO] [stdout] | [INFO] [stdout] 258 | return Token::new(id, value.to_string(), tt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 258 - return Token::new(id, value.to_string(), tt); [INFO] [stdout] 258 + Token::new(id, value.to_string(), tt) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return Token::new(id, value.to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 261 - return Token::new(id, value.to_string(), BASE_TOKEN); [INFO] [stdout] 261 + Token::new(id, value.to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:264:3 [INFO] [stdout] | [INFO] [stdout] 264 | return self.tt; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 264 - return self.tt; [INFO] [stdout] 264 + self.tt [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:286:3 [INFO] [stdout] | [INFO] [stdout] 286 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 286 - return false; [INFO] [stdout] 286 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/statics.rs:284:11 [INFO] [stdout] | [INFO] [stdout] 284 | return self.list.as_ref().unwrap().len() > 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.list.as_ref().unwrap().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:289:3 [INFO] [stdout] | [INFO] [stdout] 289 | return self.id == id && self.value == value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 289 - return self.id == id && self.value == value; [INFO] [stdout] 289 + self.id == id && self.value == value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:292:3 [INFO] [stdout] | [INFO] [stdout] 292 | return self.id == id && self.value == value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return self.id == id && self.value == value; [INFO] [stdout] 292 + self.id == id && self.value == value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:302:3 [INFO] [stdout] | [INFO] [stdout] 302 | return Ok(self.dict.as_ref().unwrap().contains_key(key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 302 - return Ok(self.dict.as_ref().unwrap().contains_key(key)); [INFO] [stdout] 302 + Ok(self.dict.as_ref().unwrap().contains_key(key)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:311:3 [INFO] [stdout] | [INFO] [stdout] 311 | 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] 311 - return Ok(()); [INFO] [stdout] 311 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | return Ok(self.dict.as_ref().unwrap().get(&key).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] 318 - return Ok(self.dict.as_ref().unwrap().get(&key).unwrap().clone()); [INFO] [stdout] 318 + Ok(self.dict.as_ref().unwrap().get(&key).unwrap().clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:325:3 [INFO] [stdout] | [INFO] [stdout] 325 | 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] 325 - return Ok(()); [INFO] [stdout] 325 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:332:3 [INFO] [stdout] | [INFO] [stdout] 332 | return Ok(self.dict.as_mut().unwrap().remove(&key).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] 332 - return Ok(self.dict.as_mut().unwrap().remove(&key).unwrap()); [INFO] [stdout] 332 + Ok(self.dict.as_mut().unwrap().remove(&key).unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:345:3 [INFO] [stdout] | [INFO] [stdout] 345 | return Ok(self.list.as_ref().unwrap()[key].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] 345 - return Ok(self.list.as_ref().unwrap()[key].clone()); [INFO] [stdout] 345 + Ok(self.list.as_ref().unwrap()[key].clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:355:3 [INFO] [stdout] | [INFO] [stdout] 355 | 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] 355 - return Ok(()); [INFO] [stdout] 355 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:363:3 [INFO] [stdout] | [INFO] [stdout] 363 | 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] 363 - return Ok(()); [INFO] [stdout] 363 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:373:3 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(self.list.as_mut().unwrap().pop().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] 373 - return Ok(self.list.as_mut().unwrap().pop().unwrap()); [INFO] [stdout] 373 + Ok(self.list.as_mut().unwrap().pop().unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:383:3 [INFO] [stdout] | [INFO] [stdout] 383 | return Ok(self.list.as_mut().unwrap().remove(key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 383 - return Ok(self.list.as_mut().unwrap().remove(key)); [INFO] [stdout] 383 + Ok(self.list.as_mut().unwrap().remove(key)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:394:3 [INFO] [stdout] | [INFO] [stdout] 394 | 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] 394 - return Ok(()); [INFO] [stdout] 394 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/statics.rs:433:3 [INFO] [stdout] | [INFO] [stdout] 433 | return other.id == self.id && other.value == self.value && other.data_type == self.data_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 433 - return other.id == self.id && other.value == self.value && other.data_type == self.data_type; [INFO] [stdout] 433 + other.id == self.id && other.value == self.value && other.data_type == self.data_type [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `VarScopes` [INFO] [stdout] --> src/scopes.rs:29:2 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new () -> VarScopes { [INFO] [stdout] 30 | | VarScopes { [INFO] [stdout] 31 | | pointer_mem : HashMap::new(), [INFO] [stdout] 32 | | scopes : vec![HashMap::new()], [INFO] [stdout] ... | [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 28 + impl Default for VarScopes { [INFO] [stdout] 29 + fn default() -> Self { [INFO] [stdout] 30 + Self::new() [INFO] [stdout] 31 + } [INFO] [stdout] 32 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/scopes.rs:52:3 [INFO] [stdout] | [INFO] [stdout] 52 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:91:3 [INFO] [stdout] | [INFO] [stdout] 91 | return 0u8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return 0u8; [INFO] [stdout] 91 + 0u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | return self.gv_flags.get(&varname).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.gv_flags.get(&varname).unwrap()` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:104:3 [INFO] [stdout] | [INFO] [stdout] 104 | return 0u8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 104 - return 0u8; [INFO] [stdout] 104 + 0u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | return self.var_flags[i].get(&varname).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[i].get(&varname).unwrap()` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:107:3 [INFO] [stdout] | [INFO] [stdout] 107 | return self.var_flags[scope].get(&varname).unwrap_or(&0u8).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] 107 - return self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone(); [INFO] [stdout] 107 + self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:107:10 [INFO] [stdout] | [INFO] [stdout] 107 | return self.var_flags[scope].get(&varname).unwrap_or(&0u8).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[scope].get(&varname).unwrap_or(&0u8)` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:110:3 [INFO] [stdout] | [INFO] [stdout] 110 | return self.var_flags[self.scope_count-1].contains_key(&varname); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return self.var_flags[self.scope_count-1].contains_key(&varname); [INFO] [stdout] 110 + self.var_flags[self.scope_count-1].contains_key(&varname) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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 `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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 `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | let ov = self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.var_flags[self.scope_count-1].get(&varname).unwrap_or(&0)` [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: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:149:3 [INFO] [stdout] | [INFO] [stdout] 149 | return cand; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 149 - return cand; [INFO] [stdout] 149 + cand [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/scopes.rs:164:19 [INFO] [stdout] | [INFO] [stdout] 164 | for (key, _) in &self.scopes[self.scope_count] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 164 - for (key, _) in &self.scopes[self.scope_count] { [INFO] [stdout] 164 + for key in self.scopes[self.scope_count].keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/scopes.rs:166:29 [INFO] [stdout] | [INFO] [stdout] 166 | self.pointer_mem.remove(&key[5..]); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/scopes.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | if key.starts_with("\"ptr ") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 165 ~ if let Some() = key.strip_prefix("\"ptr ") { [INFO] [stdout] 166 ~ self.pointer_mem.remove(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:184:3 [INFO] [stdout] | [INFO] [stdout] 184 | return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 - return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] 184 + Token::news(UDF, "UDF", BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/scopes.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 177 | return self.scopes[i].get(&name.to_string()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:197:3 [INFO] [stdout] | [INFO] [stdout] 197 | return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 197 - return Token::news(UDF, "UDF", BASE_TOKEN); [INFO] [stdout] 197 + Token::news(UDF, "UDF", BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/scopes.rs:193:31 [INFO] [stdout] | [INFO] [stdout] 193 | return self.scopes[i].get(&name.to_string()).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:200:3 [INFO] [stdout] | [INFO] [stdout] 200 | return self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).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] 200 - return self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).clone(); [INFO] [stdout] 200 + self.scopes[self.scope_count-2].get(name).unwrap_or(&Token::news(UDF, "UDF", BASE_TOKEN)).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:218:3 [INFO] [stdout] | [INFO] [stdout] 218 | return self.get_f(name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return self.get_f(name); [INFO] [stdout] 218 + self.get_f(name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scopes.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | return self.inter_flags.get(varname).unwrap_or(&0u8).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] 330 - return self.inter_flags.get(varname).unwrap_or(&0u8).clone(); [INFO] [stdout] 330 + self.inter_flags.get(varname).unwrap_or(&0u8).clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/scopes.rs:330:10 [INFO] [stdout] | [INFO] [stdout] 330 | return self.inter_flags.get(varname).unwrap_or(&0u8).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.inter_flags.get(varname).unwrap_or(&0u8)` [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: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:36:2 [INFO] [stdout] | [INFO] [stdout] 36 | return (i, word); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return (i, word); [INFO] [stdout] 36 + (i, word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:6 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !(line[i].is_digit(base) || line[i] == '.' && line[i+1].is_digit(10) && !typedef && !decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if (decu || typedef || !line[i+1].is_digit(10) || line[i] != '.') && !line[i].is_digit(base) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:33 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && !(line[i] == '.' && line[i+1].is_digit(10) && !typedef && !decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (!(line[i] == '.' && line[i+1].is_digit(10) && !typedef) || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tokenize.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef |... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (!(line[i] == '.' && line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || !line[i+1].is_digit(10) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:63:2 [INFO] [stdout] | [INFO] [stdout] 63 | return (i, num); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return (i, num); [INFO] [stdout] 63 + (i, num) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/tokenize.rs:50:72 [INFO] [stdout] | [INFO] [stdout] 50 | ...i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `line[i+1].is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tokenize.rs:50:140 [INFO] [stdout] | [INFO] [stdout] 50 | ... typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 50 - if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !match line[i] {'x'=>true,'b'=>true,_=>false}) { [INFO] [stdout] 50 + if !line[i].is_digit(base) && (line[i] != '.' || (line[i] == '.' && !line[i+1].is_digit(10)) || typedef || decu) && (typedef || decu || !matches!(line[i], 'x' | 'b')) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tokenize.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | if match line[i] {'x'=>true,'b'=>true,_=>false} { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 56 - if match line[i] {'x'=>true,'b'=>true,_=>false} { [INFO] [stdout] 56 + if matches!(line[i], 'x' | 'b') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:86:2 [INFO] [stdout] | [INFO] [stdout] 86 | return (i, word); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return (i, word); [INFO] [stdout] 86 + (i, word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/tokenize.rs:78:23 [INFO] [stdout] | [INFO] [stdout] 78 | if WORD_RE.is_match(&c) { [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:119:2 [INFO] [stdout] | [INFO] [stdout] 119 | return (i+1, meta, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return (i+1, meta, value); [INFO] [stdout] 119 + (i+1, meta, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/tokenize.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | meta.push(line[i].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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/tokenize.rs:116:14 [INFO] [stdout] | [INFO] [stdout] 116 | value.push(line[i].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:151:3 [INFO] [stdout] | [INFO] [stdout] 151 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 - return (i, tokens, f); [INFO] [stdout] 151 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:188:3 [INFO] [stdout] | [INFO] [stdout] 188 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 (i, tokens, f); [INFO] [stdout] 188 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:191:3 [INFO] [stdout] | [INFO] [stdout] 191 | return (i+1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 191 - return (i+1, tokens, f); [INFO] [stdout] 191 + (i+1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:238:2 [INFO] [stdout] | [INFO] [stdout] 238 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 238 - return (i, tokens, f); [INFO] [stdout] 238 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:270:2 [INFO] [stdout] | [INFO] [stdout] 270 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 270 - return (i, tokens, f); [INFO] [stdout] 270 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:323:2 [INFO] [stdout] | [INFO] [stdout] 323 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 323 - return (i-1, tokens, f); [INFO] [stdout] 323 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:365:2 [INFO] [stdout] | [INFO] [stdout] 365 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 365 - return (i-1, tokens, f); [INFO] [stdout] 365 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:407:2 [INFO] [stdout] | [INFO] [stdout] 407 | return (match i>0{true=>i-1,_=>i}, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 407 - return (match i>0{true=>i-1,_=>i}, tokens, f); [INFO] [stdout] 407 + (match i>0{true=>i-1,_=>i}, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:438:2 [INFO] [stdout] | [INFO] [stdout] 438 | return (i-1, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 438 - return (i-1, tokens, f); [INFO] [stdout] 438 + (i-1, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:548:2 [INFO] [stdout] | [INFO] [stdout] 548 | return (i, tokens, f); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 548 - return (i, tokens, f); [INFO] [stdout] 548 + (i, tokens, f) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:646:2 [INFO] [stdout] | [INFO] [stdout] 646 | return fv; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 646 - return fv; [INFO] [stdout] 646 + fv [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:562:7 [INFO] [stdout] | [INFO] [stdout] 562 | if tokens[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `tokens[i].value.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/tokenize.rs:798:2 [INFO] [stdout] | [INFO] [stdout] 798 | return preprocess(tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 798 - return preprocess(tokens); [INFO] [stdout] 798 + preprocess(tokens) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `char` which implements the `Copy` trait [INFO] [stdout] --> src/tokenize.rs:711:49 [INFO] [stdout] | [INFO] [stdout] 711 | ... let x : (usize, String) = get_containing(i, line[i].clone(), get_complement_surround(line[i].clone()), lines[line_index].to_s... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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/tokenize.rs:711:90 [INFO] [stdout] | [INFO] [stdout] 711 | ...clone(), get_complement_surround(line[i].clone()), lines[line_index].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `line[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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/tokenize.rs:715:14 [INFO] [stdout] | [INFO] [stdout] 715 | } else if line[i].is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `line[i].is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/tokenize.rs:746:5 [INFO] [stdout] | [INFO] [stdout] 746 | / if line[i] == '&' || line[i] == '|' { [INFO] [stdout] 747 | | if line[i+1] == line[i] { [INFO] [stdout] 748 | | i += 1; [INFO] [stdout] 749 | | words.push(line[i].to_string().repeat(2)); [INFO] [stdout] ... | [INFO] [stdout] 753 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 746 ~ if (line[i] == '&' || line[i] == '|') { [INFO] [stdout] 747 ~ && line[i+1] == line[i] { [INFO] [stdout] 748 | i += 1; [INFO] [stdout] ... [INFO] [stdout] 751 | continue; [INFO] [stdout] 752 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `c` is used as a loop counter [INFO] [stdout] --> src/tokenize.rs:766:2 [INFO] [stdout] | [INFO] [stdout] 766 | for word in words { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using: `for (c, word) in words.into_iter().enumerate()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:767:6 [INFO] [stdout] | [INFO] [stdout] 767 | if word.chars().nth(0).unwrap() == '.' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `word.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/tokenize.rs:769:13 [INFO] [stdout] | [INFO] [stdout] 769 | } else if word.chars().nth(0).unwrap() == '#' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `word.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Replacer` [INFO] [stdout] --> src/replacer.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new () -> Replacer { [INFO] [stdout] 9 | | Replacer { [INFO] [stdout] 10 | | BACKSLASH : Regex::new(r"\\").unwrap(), [INFO] [stdout] 11 | | } [INFO] [stdout] 12 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Replacer { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/replacer.rs:35:3 [INFO] [stdout] | [INFO] [stdout] 35 | return f; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 35 - return f; [INFO] [stdout] 35 + f [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:58:3 [INFO] [stdout] | [INFO] [stdout] 58 | return &""; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 &""; [INFO] [stdout] 58 + &"" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return false; [INFO] [stdout] 79 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/method_bindings.rs:95:3 [INFO] [stdout] | [INFO] [stdout] 95 | return self.validate(t.data_type, target); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return self.validate(t.data_type, target); [INFO] [stdout] 95 + self.validate(t.data_type, target) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Logger` [INFO] [stdout] --> src/logger.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub fn new () -> Logger { [INFO] [stdout] 10 | | Logger { [INFO] [stdout] 11 | | lines : Vec::new(), [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 8 + impl Default for Logger { [INFO] [stdout] 9 + fn default() -> Self { [INFO] [stdout] 10 + Self::new() [INFO] [stdout] 11 + } [INFO] [stdout] 12 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | return Token::new(UDF, String::from("UDF"), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Token::new(UDF, String::from("UDF"), BASE_TOKEN); [INFO] [stdout] 54 + Token::new(UDF, String::from("UDF"), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:63:3 [INFO] [stdout] | [INFO] [stdout] 63 | return r; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return r; [INFO] [stdout] 63 + r [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - return self.__fault(); [INFO] [stdout] 89 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:106:3 [INFO] [stdout] | [INFO] [stdout] 106 | return Token::new(LIT, v.to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 106 - return Token::new(LIT, v.to_string(), BASE_TOKEN); [INFO] [stdout] 106 + Token::new(LIT, v.to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:132:3 [INFO] [stdout] | [INFO] [stdout] 132 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 132 - return self.__fault(); [INFO] [stdout] 132 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:148:3 [INFO] [stdout] | [INFO] [stdout] 148 | return Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 - return Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 148 + Token::new(LIT, (v/v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:168:3 [INFO] [stdout] | [INFO] [stdout] 168 | return Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 168 - return Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 168 + Token::new(LIT, (v1.parse::().unwrap() & v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:188:3 [INFO] [stdout] | [INFO] [stdout] 188 | return Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 188 - return Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 188 + Token::new(LIT, (v1.parse::().unwrap() | v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:208:3 [INFO] [stdout] | [INFO] [stdout] 208 | return Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 208 - return Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 208 + Token::new(LIT, (v1.parse::().unwrap() ^ v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:218:3 [INFO] [stdout] | [INFO] [stdout] 218 | return Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN); [INFO] [stdout] 218 + Token::new(LIT, (v1.parse::().unwrap() % v2.parse::().unwrap()).to_string(), BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:227:3 [INFO] [stdout] | [INFO] [stdout] 227 | return Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 - return Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] 227 + Token::news(LIT, match b1 && b2 {true=>"true",_=>"false"}, BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:236:3 [INFO] [stdout] | [INFO] [stdout] 236 | return Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 236 - return Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN); [INFO] [stdout] 236 + Token::news(LIT, match b1 || b2 {true=>"true",_=>"false"}, BASE_TOKEN) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:259:3 [INFO] [stdout] | [INFO] [stdout] 259 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return self.__fault(); [INFO] [stdout] 259 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:285:3 [INFO] [stdout] | [INFO] [stdout] 285 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 285 - return self.__fault(); [INFO] [stdout] 285 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:288:3 [INFO] [stdout] | [INFO] [stdout] 288 | return self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 288 - return self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2); [INFO] [stdout] 288 + self.operation(&operand.chars().collect::>()[0].to_string(), v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:344:3 [INFO] [stdout] | [INFO] [stdout] 344 | ... return self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}); [INFO] [stdout] 344 + self.derefp(match self.memory.pointer_mem.get(&t.value) {Some(x)=>x,_=>{if RUST_ERR {panic!("bad pointer");} return Err((String::from("bad pointer"), t.line, t.chara))}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:411:3 [INFO] [stdout] | [INFO] [stdout] 411 | return Ok(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] 411 - return Ok(i); [INFO] [stdout] 411 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:346:49 [INFO] [stdout] | [INFO] [stdout] 346 | fn printop (&mut self, mut i : usize, tokens : &Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 346 - fn printop (&mut self, mut i : usize, tokens : &Vec) -> Result { [INFO] [stdout] 346 + fn printop (&mut self, mut i : usize, tokens : &[Token]) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:423:3 [INFO] [stdout] | [INFO] [stdout] 423 | return 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] 423 - return i; [INFO] [stdout] 423 + i [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:413:47 [INFO] [stdout] | [INFO] [stdout] 413 | fn dumpscope (&self, mut i : usize, tokens : &Vec) -> usize { [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] 413 - fn dumpscope (&self, mut i : usize, tokens : &Vec) -> usize { [INFO] [stdout] 413 + fn dumpscope (&self, mut i : usize, tokens : &[Token]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:496:3 [INFO] [stdout] | [INFO] [stdout] 496 | return Ok(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] 496 - return Ok(i); [INFO] [stdout] 496 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:613:3 [INFO] [stdout] | [INFO] [stdout] 613 | return Ok(copt); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 613 - return Ok(copt); [INFO] [stdout] 613 + Ok(copt) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:504:3 [INFO] [stdout] | [INFO] [stdout] 504 | / if toks.len() == 0 { [INFO] [stdout] 505 | | if !RUST_ERR { [INFO] [stdout] 506 | | return Err((String::from("no tokens provided"), 0, 0)); [INFO] [stdout] 507 | | } [INFO] [stdout] 508 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 504 ~ if toks.len() == 0 [INFO] [stdout] 505 ~ && !RUST_ERR { [INFO] [stdout] 506 | return Err((String::from("no tokens provided"), 0, 0)); [INFO] [stdout] 507 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:504:6 [INFO] [stdout] | [INFO] [stdout] 504 | if toks.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `toks.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:516:4 [INFO] [stdout] | [INFO] [stdout] 516 | / if toks[i].id == REF { [INFO] [stdout] 517 | | if toks[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] 518 | | // println!("{}", toks[i]); [INFO] [stdout] 519 | | toks[i] = self.derefb(&toks[i])?; [INFO] [stdout] ... | [INFO] [stdout] 522 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 516 ~ if toks[i].id == REF [INFO] [stdout] 517 ~ && toks[i].value.chars().nth(0).unwrap() == '$' { [INFO] [stdout] 518 | // println!("{}", toks[i]); [INFO] [stdout] 519 | toks[i] = self.derefb(&toks[i])?; [INFO] [stdout] 520 | // println!("{}", toks[i]); [INFO] [stdout] 521 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:594:11 [INFO] [stdout] | [INFO] [stdout] 594 | } else if toks[i].id == KEY { [INFO] [stdout] | ____________________^ [INFO] [stdout] 595 | | if toks[i].value == "create" { [INFO] [stdout] 596 | | let tok = self.derefb(&toks[i+1])?; [INFO] [stdout] 597 | | if tok.cid == OBJ { [INFO] [stdout] ... | [INFO] [stdout] 609 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 594 ~ } else if toks[i].id == KEY [INFO] [stdout] 595 ~ && toks[i].value == "create" { [INFO] [stdout] 596 | let tok = self.derefb(&toks[i+1])?; [INFO] [stdout] ... [INFO] [stdout] 607 | } [INFO] [stdout] 608 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:677:3 [INFO] [stdout] | [INFO] [stdout] 677 | return Ok(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] 677 - return Ok(i); [INFO] [stdout] 677 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:669:4 [INFO] [stdout] | [INFO] [stdout] 669 | / if r.id == SIG { [INFO] [stdout] 670 | | if r.value == "BREAK" { [INFO] [stdout] 671 | | break; [INFO] [stdout] 672 | | } [INFO] [stdout] 673 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 669 ~ if r.id == SIG [INFO] [stdout] 670 ~ && r.value == "BREAK" { [INFO] [stdout] 671 | break; [INFO] [stdout] 672 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:707:3 [INFO] [stdout] | [INFO] [stdout] 707 | return Ok(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] 707 - return Ok(i); [INFO] [stdout] 707 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:700:4 [INFO] [stdout] | [INFO] [stdout] 700 | / if r.id == SIG { [INFO] [stdout] 701 | | if r.value == "BREAK" { [INFO] [stdout] 702 | | break; [INFO] [stdout] 703 | | } [INFO] [stdout] 704 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 700 ~ if r.id == SIG [INFO] [stdout] 701 ~ && r.value == "BREAK" { [INFO] [stdout] 702 | break; [INFO] [stdout] 703 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:730:3 [INFO] [stdout] | [INFO] [stdout] 730 | return Ok((i, 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] 730 - return Ok((i, true)); [INFO] [stdout] 730 + Ok((i, true)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:738:3 [INFO] [stdout] | [INFO] [stdout] 738 | return Ok(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] 738 - return Ok(i); [INFO] [stdout] 738 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:764:3 [INFO] [stdout] | [INFO] [stdout] 764 | return Ok(pointer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 764 - return Ok(pointer); [INFO] [stdout] 764 + Ok(pointer) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:771:3 [INFO] [stdout] | [INFO] [stdout] 771 | return pointer; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 771 - return pointer; [INFO] [stdout] 771 + pointer [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:782:3 [INFO] [stdout] | [INFO] [stdout] 782 | return self.func_call(i, &mut tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 782 - return self.func_call(i, &mut tokens); [INFO] [stdout] 782 + self.func_call(i, &mut tokens) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:782:28 [INFO] [stdout] | [INFO] [stdout] 782 | return self.func_call(i, &mut tokens); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:794:3 [INFO] [stdout] | [INFO] [stdout] 794 | return Ok(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 794 - return Ok(obj); [INFO] [stdout] 794 + Ok(obj) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/parser.rs:786:19 [INFO] [stdout] | [INFO] [stdout] 786 | for (key, _) in obj.dict.as_ref().unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 786 - for (key, _) in obj.dict.as_ref().unwrap() { [INFO] [stdout] 786 + for key in obj.dict.as_ref().unwrap().keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1088:3 [INFO] [stdout] | [INFO] [stdout] 1088 | return Ok(self.UDFTOK.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] 1088 - return Ok(self.UDFTOK.clone()); [INFO] [stdout] 1088 + Ok(self.UDFTOK.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:822:37 [INFO] [stdout] | [INFO] [stdout] 822 | } else if show_options.contains(&&&token.value[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `(&&token.value[..])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:900:24 [INFO] [stdout] | [INFO] [stdout] 900 | printlst::(&self.derefp(&self.derefb(&tokens[token_index+1])?)?.list.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.derefp(&self.derefb(&tokens[token_index+1])?)?.list.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/parser.rs:935:6 [INFO] [stdout] | [INFO] [stdout] 935 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/parser.rs:994:6 [INFO] [stdout] | [INFO] [stdout] 994 | let v2 : String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 1007 | v2 = self.eval_exp(lst)?.value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `v2` here [INFO] [stdout] | [INFO] [stdout] 994 ~ [INFO] [stdout] 995 | let mut lst : Vec = Vec::new(); [INFO] [stdout] ... [INFO] [stdout] 1006 | } [INFO] [stdout] 1007 ~ let v2 : String = self.eval_exp(lst)?.value; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1015:63 [INFO] [stdout] | [INFO] [stdout] 1015 | ... match tokens[imt].set(index, self.assignment_operation(&operand, va, v2)) {Ok(_)=>{},Err(e)=>{return Err((e, tokens[imt].lin... [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1019:64 [INFO] [stdout] | [INFO] [stdout] 1019 | ... match tokens[imt].setd(index, self.assignment_operation(&operand, va, v2)) {Ok(_)=>{},Err(e)=>{return Err((e, tokens[imt].li... [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/parser.rs:1025:58 [INFO] [stdout] | [INFO] [stdout] 1025 | self.memory.set(varname, self.assignment_operation(&operand, self.memory.get(varname).value, v2)); [INFO] [stdout] | ^^^^^^^^ help: change this to: `operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1117:3 [INFO] [stdout] | [INFO] [stdout] 1117 | return Ok((i+1, self.eval_exp(toks)?)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1117 - return Ok((i+1, self.eval_exp(toks)?)); [INFO] [stdout] 1117 + Ok((i+1, self.eval_exp(toks)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/parser.rs:1090:36 [INFO] [stdout] | [INFO] [stdout] 1090 | fn get_value (&mut self, tokens : &Vec, mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [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] 1090 - fn get_value (&mut self, tokens : &Vec, mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [INFO] [stdout] 1090 + fn get_value (&mut self, tokens : &[Token], mut i : usize) -> Result<(usize, Token), (String, usize, usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1163:3 [INFO] [stdout] | [INFO] [stdout] 1163 | return self.__fault(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1163 - return self.__fault(); [INFO] [stdout] 1163 + self.__fault() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/parser.rs:1127:4 [INFO] [stdout] | [INFO] [stdout] 1127 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/parser.rs:1132:13 [INFO] [stdout] | [INFO] [stdout] 1132 | let v = match t.value.parse::() {Ok(x)=>Some(x),_=>None}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `t.value.parse::().ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1217:3 [INFO] [stdout] | [INFO] [stdout] 1217 | return Ok(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] 1217 - return Ok(i); [INFO] [stdout] 1217 + Ok(i) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/parser.rs:1219:68 [INFO] [stdout] | [INFO] [stdout] 1219 | fn execute (&mut self, mut tokens : Vec, mut i : usize) -> Result<(usize, Token, Vec), (String, usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1329:9 [INFO] [stdout] | [INFO] [stdout] 1329 | return Ok((i, self.__fault(), tokens)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1329 - return Ok((i, self.__fault(), tokens)); [INFO] [stdout] 1329 + Ok((i, self.__fault(), tokens)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1232:3 [INFO] [stdout] | [INFO] [stdout] 1232 | / if is_ptr { [INFO] [stdout] 1233 | | if t.value.find("-super").is_some() { [INFO] [stdout] 1234 | | target = &tva; [INFO] [stdout] 1235 | | is_super = true; [INFO] [stdout] ... | [INFO] [stdout] 1238 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1232 ~ if is_ptr [INFO] [stdout] 1233 ~ && t.value.find("-super").is_some() { [INFO] [stdout] 1234 | target = &tva; [INFO] [stdout] 1235 | is_super = true; [INFO] [stdout] 1236 | } [INFO] [stdout] 1237 ~ // target = match t.value.find("-super").is_some() {true=>&tva,_=>target}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1261:20 [INFO] [stdout] | [INFO] [stdout] 1261 | } else if btype == &"property" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1262 | | if target == "length" { [INFO] [stdout] 1263 | | return Ok((i, Token::new(LIT, (t.value.len()-2).to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1264 | | } [INFO] [stdout] 1265 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1261 ~ } else if btype == &"property" [INFO] [stdout] 1262 ~ && target == "length" { [INFO] [stdout] 1263 | return Ok((i, Token::new(LIT, (t.value.len()-2).to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1264 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1290:20 [INFO] [stdout] | [INFO] [stdout] 1290 | } else if btype == &"property" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1291 | | if target == "length" { [INFO] [stdout] 1292 | | return Ok((i, Token::new(LIT, t.length.to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1293 | | } [INFO] [stdout] 1294 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1290 ~ } else if btype == &"property" [INFO] [stdout] 1291 ~ && target == "length" { [INFO] [stdout] 1292 | return Ok((i, Token::new(LIT, t.length.to_string(), BASE_TOKEN), tokens)); [INFO] [stdout] 1293 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/parser.rs:1300:11 [INFO] [stdout] | [INFO] [stdout] 1300 | } else if btype == &"method" { [INFO] [stdout] | ____________________^ [INFO] [stdout] 1301 | | if target == "to_string" { [INFO] [stdout] 1302 | | let x : (usize, Token) = self.get_value(&tokens, i)?; [INFO] [stdout] 1303 | | i = x.0 - 2; [INFO] [stdout] ... | [INFO] [stdout] 1306 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1300 ~ } else if btype == &"method" [INFO] [stdout] 1301 ~ && target == "to_string" { [INFO] [stdout] 1302 | let x : (usize, Token) = self.get_value(&tokens, i)?; [INFO] [stdout] 1303 | i = x.0 - 2; [INFO] [stdout] 1304 | return Ok((i, Token::new(LIT, String::from(r#"""#)+&t.value+r#"""#, BASE_TOKEN), tokens)); [INFO] [stdout] 1305 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1331:64 [INFO] [stdout] | [INFO] [stdout] 1331 | fn __builtin (&mut self, doc : &str, map : &HashMap<&str, u8>) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/parser.rs:1332:6 [INFO] [stdout] | [INFO] [stdout] 1332 | if doc.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `doc.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/parser.rs:1336:6 [INFO] [stdout] | [INFO] [stdout] 1336 | if lines.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:1341:7 [INFO] [stdout] | [INFO] [stdout] 1341 | if lines[i].len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines[i].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u8` which implements the `Copy` trait [INFO] [stdout] --> src/parser.rs:1363:29 [INFO] [stdout] | [INFO] [stdout] 1363 | bi_tok.push(Token::newsb(map.get(&tok_strs[i]).unwrap().clone(), tok_strs[i+1])).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*map.get(&tok_strs[i]).unwrap()` [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: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1369:26 [INFO] [stdout] | [INFO] [stdout] 1369 | fn __prelude (&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1388:53 [INFO] [stdout] | [INFO] [stdout] 1388 | fn __sysobj (&mut self, name : &str, token : Token) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1396:55 [INFO] [stdout] | [INFO] [stdout] 1396 | fn __sysobj_i (&mut self, name : &str, token : Token) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/parser.rs:1403:27 [INFO] [stdout] | [INFO] [stdout] 1403 | pub fn __init (&mut self) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `status` after checking its variant with `is_err` [INFO] [stdout] --> src/parser.rs:1427:38 [INFO] [stdout] | [INFO] [stdout] 1426 | if status.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = status` [INFO] [stdout] 1427 | let em : (String, usize, usize) = status.unwrap_err(); [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/parser.rs:1431:3 [INFO] [stdout] | [INFO] [stdout] 1431 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1431 - return 0; [INFO] [stdout] 1431 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:1440:2 [INFO] [stdout] | [INFO] [stdout] 1440 | return tokenize(contents); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1440 - return tokenize(contents); [INFO] [stdout] 1440 + tokenize(contents) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:192:39 [INFO] [stdout] | [INFO] [stdout] 192 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:223:39 [INFO] [stdout] | [INFO] [stdout] 223 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/scopes.rs:240:39 [INFO] [stdout] | [INFO] [stdout] 240 | ... if self.scopes[i].contains_key(name.clone()) && (self.find_flag_for_scope(name.to_owned(), i) & 0b100 != 0b100 || i == self.s... [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.00s [INFO] running `Command { std: "docker" "inspect" "917f3c20f10019837628711fe0ad9497a6e5cf5e8c0efcd3c0879bd382d39d41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "917f3c20f10019837628711fe0ad9497a6e5cf5e8c0efcd3c0879bd382d39d41", kill_on_drop: false }` [INFO] [stdout] 917f3c20f10019837628711fe0ad9497a6e5cf5e8c0efcd3c0879bd382d39d41