[INFO] cloning repository https://github.com/FranchuFranchu/Interaction-Type-Theory [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FranchuFranchu/Interaction-Type-Theory" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFranchuFranchu%2FInteraction-Type-Theory", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFranchuFranchu%2FInteraction-Type-Theory'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 908f5dfecf627ad9d7354e127a0935f6b3b8968c [INFO] linting FranchuFranchu/Interaction-Type-Theory against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFranchuFranchu%2FInteraction-Type-Theory" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/FranchuFranchu/Interaction-Type-Theory [INFO] finished tweaking git repo https://github.com/FranchuFranchu/Interaction-Type-Theory [INFO] tweaked toml for git repo https://github.com/FranchuFranchu/Interaction-Type-Theory written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/FranchuFranchu/Interaction-Type-Theory 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/FranchuFranchu/Interaction-Type-Theory 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bitflags v1.0.4 [INFO] [stderr] Downloaded winapi v0.3.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] e0ffe1312de94e642d71af81d54b50bcf0bb6805526c94c9718543daf042b16d [INFO] running `Command { std: "docker" "start" "-a" "e0ffe1312de94e642d71af81d54b50bcf0bb6805526c94c9718543daf042b16d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e0ffe1312de94e642d71af81d54b50bcf0bb6805526c94c9718543daf042b16d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0ffe1312de94e642d71af81d54b50bcf0bb6805526c94c9718543daf042b16d", kill_on_drop: false }` [INFO] [stdout] e0ffe1312de94e642d71af81d54b50bcf0bb6805526c94c9718543daf042b16d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 76fbe094e957d8b5e4ef055995dd8d0c8f69e2a3b58ed68b073294c549dacf4d [INFO] running `Command { std: "docker" "start" "-a" "76fbe094e957d8b5e4ef055995dd8d0c8f69e2a3b58ed68b073294c549dacf4d", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Checking interaction-calculus v0.2.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/syntax.rs:322:49 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nam` [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/syntax.rs:322:49 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nam` [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: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:42:3 [INFO] [stdout] | [INFO] [stdout] 42 | return inet; [INFO] [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] 42 - return inet; [INFO] [stdout] 42 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 59 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return node; [INFO] [stdout] 59 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/itt.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | } else if x_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | None [INFO] [stdout] 280 | | } else if y_back { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/itt.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | } else if y_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 281 | | None [INFO] [stdout] 282 | | } /*else if x_kind == ANN { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:317:38 [INFO] [stdout] | [INFO] [stdout] 317 | let term = crate::syntax::readback(&inet, 1); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:332:62 [INFO] [stdout] | [INFO] [stdout] 332 | let term = crate::syntax::readback_and_highlight(&inet, 1, &h); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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/itt.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | return name.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 396 - return name.to_string(); [INFO] [stdout] 396 + name.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", 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] 402 - return format!("{}", name); [INFO] [stdout] 402 + format!("{}", name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/itt.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:424:3 [INFO] [stdout] | [INFO] [stdout] 424 | return lines; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return lines; [INFO] [stdout] 424 + lines [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | &Lam { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 108 - &Lam { ref inp, ref out } => { [INFO] [stdout] 108 + Lam { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 120 - &App{ref fun, ref arg} => { [INFO] [stdout] 120 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | &Tla { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 132 - &Tla { ref inp, ref out } => { [INFO] [stdout] 132 + Tla { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:144:7 [INFO] [stdout] | [INFO] [stdout] 144 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 144 - &Ann{ref val, ref typ} => { [INFO] [stdout] 144 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | let val = encode_term(net, &val, port(dup, 0), scope, vars); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | encode_term(net, &nxt, up, scope, vars) [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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/syntax.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | let main = encode_term(inet, &term, host, &mut scope, &mut vars); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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: the loop variable `j` is only used to index `vars` [INFO] [stdout] --> src/syntax.rs:234:14 [INFO] [stdout] | [INFO] [stdout] 234 | for j in i+1..vars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for j in i+1..vars.len() { [INFO] [stdout] 234 + for in vars.iter().skip(i+1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:42:3 [INFO] [stdout] | [INFO] [stdout] 42 | return inet; [INFO] [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] 42 - return inet; [INFO] [stdout] 42 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return inet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 inet; [INFO] [stdout] 261 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | inject(&mut inet, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/itt.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 59 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return node; [INFO] [stdout] 59 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/syntax.rs:284:3 [INFO] [stdout] | [INFO] [stdout] 284 | / fn reader ( [INFO] [stdout] 285 | | net : &INet, [INFO] [stdout] 286 | | next : Port, [INFO] [stdout] 287 | | var_name : &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 292 | | highlight: &HashMap, [INFO] [stdout] 293 | | ) -> Term { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ---------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 323 | lam [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 322 ~ [INFO] [stdout] 323 ~ Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `tag` [INFO] [stdout] --> src/syntax.rs:388:11 [INFO] [stdout] | [INFO] [stdout] 388 | let tag = tag; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `tag` is initially defined here [INFO] [stdout] --> src/syntax.rs:385:7 [INFO] [stdout] | [INFO] [stdout] 385 | tag => match slot(next) { [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] = note: `#[warn(clippy::redundant_locals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/syntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | while dups_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dups_vec.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/syntax.rs:462:3 [INFO] [stdout] | [INFO] [stdout] 462 | return readback(inet, ROOT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 462 - return readback(inet, ROOT); [INFO] [stdout] 462 + readback(inet, ROOT) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | inject(&mut net, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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 `if` has identical blocks [INFO] [stdout] --> src/itt.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | } else if x_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | None [INFO] [stdout] 280 | | } else if y_back { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/itt.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | } else if y_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 281 | | None [INFO] [stdout] 282 | | } /*else if x_kind == ANN { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] 489 | | || (c >= b'0' && c <= b'9') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z' || c >= b'0' && c <= b'9'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:317:38 [INFO] [stdout] | [INFO] [stdout] 317 | let term = crate::syntax::readback(&inet, 1); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:487:6 [INFO] [stdout] | [INFO] [stdout] 487 | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'A'..=b'Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:488:6 [INFO] [stdout] | [INFO] [stdout] 488 | || (c >= b'a' && c <= b'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'a'..=b'z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:489:6 [INFO] [stdout] | [INFO] [stdout] 489 | || (c >= b'0' && c <= b'9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:503:3 [INFO] [stdout] | [INFO] [stdout] 503 | return 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] 503 - return name; [INFO] [stdout] 503 + name [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:499:5 [INFO] [stdout] | [INFO] [stdout] 499 | idx = idx - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | idx = idx / 26; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `idx /= 26` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:332:62 [INFO] [stdout] | [INFO] [stdout] 332 | let term = crate::syntax::readback_and_highlight(&inet, 1, &h); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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/syntax.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | return idx; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 512 - return idx; [INFO] [stdout] 512 + idx [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/syntax.rs:507:29 [INFO] [stdout] | [INFO] [stdout] 507 | pub fn name_to_index(name : &Vec) -> u32 { [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] 507 - pub fn name_to_index(name : &Vec) -> u32 { [INFO] [stdout] 507 + pub fn name_to_index(name : &[Chr]) -> u32 { [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/syntax.rs:530:26 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn namespace(space : &Vec, idx : u32, var : &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 530 ~ pub fn namespace(space : &[u8], idx : u32, var : &Vec) -> Vec { [INFO] [stdout] 531 | if var != b"*" { [INFO] [stdout] 532 ~ let mut nam = space.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | return name.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 396 - return name.to_string(); [INFO] [stdout] 396 + name.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", 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] 402 - return format!("{}", name); [INFO] [stdout] 402 + format!("{}", name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/itt.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:424:3 [INFO] [stdout] | [INFO] [stdout] 424 | return lines; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return lines; [INFO] [stdout] 424 + lines [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | &Lam { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 108 - &Lam { ref inp, ref out } => { [INFO] [stdout] 108 + Lam { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 120 - &App{ref fun, ref arg} => { [INFO] [stdout] 120 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | &Tla { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 132 - &Tla { ref inp, ref out } => { [INFO] [stdout] 132 + Tla { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:144:7 [INFO] [stdout] | [INFO] [stdout] 144 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 144 - &Ann{ref val, ref typ} => { [INFO] [stdout] 144 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax.rs:773:20 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 773 - pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] 773 + pub fn from_string(code : &Str) -> Term { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:923:3 [INFO] [stdout] | [INFO] [stdout] 923 | return code; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 923 - return code; [INFO] [stdout] 923 + code [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:795:5 [INFO] [stdout] | [INFO] [stdout] 795 | / match term { [INFO] [stdout] 796 | | &Tla{ref inp, ref out} => { [INFO] [stdout] 797 | | start_highlight(code, highlight); [INFO] [stdout] 798 | | code.extend_from_slice("θ".as_bytes()); [INFO] [stdout] ... | [INFO] [stdout] 918 | | }, [INFO] [stdout] 919 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 795 ~ match *term { [INFO] [stdout] 796 ~ Tla{ref inp, ref out} => { [INFO] [stdout] 797 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 803 | }, [INFO] [stdout] 804 ~ App{ref fun, ref arg} => { [INFO] [stdout] 805 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 816 | }, [INFO] [stdout] 817 ~ Dup{tag, ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 818 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 839 | }, [INFO] [stdout] 840 ~ Ann{ref val, ref typ} => { [INFO] [stdout] 841 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 850 | }, [INFO] [stdout] 851 ~ Sup{tag, ref fst, ref snd} => { [INFO] [stdout] 852 | if tag != 0 { [INFO] [stdout] ... [INFO] [stdout] 867 | }, [INFO] [stdout] 868 ~ Lam{ref inp, ref out} => { [INFO] [stdout] 869 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 877 | }, [INFO] [stdout] 878 ~ Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 879 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 893 | }, [INFO] [stdout] 894 ~ Eql{ref fst, ref snd} => { [INFO] [stdout] 895 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 904 | }, [INFO] [stdout] 905 ~ Hig{ref val, col} => { [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] 907 | } [INFO] [stdout] 908 ~ Any => { [INFO] [stdout] 909 | code.extend_from_slice(b"@"); [INFO] [stdout] 910 | }, [INFO] [stdout] 911 ~ Era => { [INFO] [stdout] 912 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 915 | }, [INFO] [stdout] 916 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:796:7 [INFO] [stdout] | [INFO] [stdout] 796 | &Tla{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 796 - &Tla{ref inp, ref out} => { [INFO] [stdout] 796 + Tla{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:800:30 [INFO] [stdout] | [INFO] [stdout] 800 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:802:30 [INFO] [stdout] | [INFO] [stdout] 802 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:804:7 [INFO] [stdout] | [INFO] [stdout] 804 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 804 - &App{ref fun, ref arg} => { [INFO] [stdout] 804 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:808:30 [INFO] [stdout] | [INFO] [stdout] 808 | stringify_term(code, &fun, 0); [INFO] [stdout] | ^^^^ help: change this to: `fun` [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/syntax.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | let val = encode_term(net, &val, port(dup, 0), scope, vars); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:812:30 [INFO] [stdout] | [INFO] [stdout] 812 | stringify_term(code, &arg, 0); [INFO] [stdout] | ^^^^ help: change this to: `arg` [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/syntax.rs:834:30 [INFO] [stdout] | [INFO] [stdout] 834 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:838:30 [INFO] [stdout] | [INFO] [stdout] 838 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:840:7 [INFO] [stdout] | [INFO] [stdout] 840 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 840 - &Ann{ref val, ref typ} => { [INFO] [stdout] 840 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | encode_term(net, &nxt, up, scope, vars) [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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/syntax.rs:846:30 [INFO] [stdout] | [INFO] [stdout] 846 | stringify_term(code, &typ, 0); [INFO] [stdout] | ^^^^ help: change this to: `typ` [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/syntax.rs:861:30 [INFO] [stdout] | [INFO] [stdout] 861 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | let main = encode_term(inet, &term, host, &mut scope, &mut vars); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:863:30 [INFO] [stdout] | [INFO] [stdout] 863 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:868:7 [INFO] [stdout] | [INFO] [stdout] 868 | &Lam{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 868 - &Lam{ref inp, ref out} => { [INFO] [stdout] 868 + Lam{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:876:30 [INFO] [stdout] | [INFO] [stdout] 876 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: the loop variable `j` is only used to index `vars` [INFO] [stdout] --> src/syntax.rs:234:14 [INFO] [stdout] | [INFO] [stdout] 234 | for j in i+1..vars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for j in i+1..vars.len() { [INFO] [stdout] 234 + for in vars.iter().skip(i+1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:878:7 [INFO] [stdout] | [INFO] [stdout] 878 | &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 878 - &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 878 + Obs{fst, snd, val, nxt} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:888:30 [INFO] [stdout] | [INFO] [stdout] 888 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:892:30 [INFO] [stdout] | [INFO] [stdout] 892 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:894:7 [INFO] [stdout] | [INFO] [stdout] 894 | &Eql{ref fst, ref snd} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 894 - &Eql{ref fst, ref snd} => { [INFO] [stdout] 894 + Eql{fst, snd} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return inet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 inet; [INFO] [stdout] 261 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:898:30 [INFO] [stdout] | [INFO] [stdout] 898 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | inject(&mut inet, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:900:30 [INFO] [stdout] | [INFO] [stdout] 900 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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/syntax.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] | ^^^^ help: change this to: `val` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:916:7 [INFO] [stdout] | [INFO] [stdout] 916 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 916 - &Var{ref nam} => { [INFO] [stdout] 916 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:922:29 [INFO] [stdout] | [INFO] [stdout] 922 | stringify_term(&mut code, &term, 0); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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 function has too many arguments (8/7) [INFO] [stdout] --> src/syntax.rs:284:3 [INFO] [stdout] | [INFO] [stdout] 284 | / fn reader ( [INFO] [stdout] 285 | | net : &INet, [INFO] [stdout] 286 | | next : Port, [INFO] [stdout] 287 | | var_name : &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 292 | | highlight: &HashMap, [INFO] [stdout] 293 | | ) -> Term { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:929:56 [INFO] [stdout] | [INFO] [stdout] 929 | write!(f, "{}", String::from_utf8_lossy(&to_string(&self))) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ---------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 323 | lam [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 322 ~ [INFO] [stdout] 323 ~ Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:939:5 [INFO] [stdout] | [INFO] [stdout] 939 | / match term { [INFO] [stdout] 940 | | &App{ref fun, ref arg} => { [INFO] [stdout] 941 | | let app = new_node(inet, CON); [INFO] [stdout] 942 | | let fun = encode(inet, label, scope, fun); [INFO] [stdout] ... | [INFO] [stdout] 973 | | _ => panic!("Invalid λ-term.") [INFO] [stdout] 974 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 939 ~ match *term { [INFO] [stdout] 940 ~ App{ref fun, ref arg} => { [INFO] [stdout] 941 | let app = new_node(inet, CON); [INFO] [stdout] ... [INFO] [stdout] 947 | }, [INFO] [stdout] 948 ~ Ann{..} => { [INFO] [stdout] 949 | todo!(); [INFO] [stdout] 950 | }, [INFO] [stdout] 951 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:940:7 [INFO] [stdout] | [INFO] [stdout] 940 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 940 - &App{ref fun, ref arg} => { [INFO] [stdout] 940 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:951:7 [INFO] [stdout] | [INFO] [stdout] 951 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 951 - &Var{ref nam} => { [INFO] [stdout] 951 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `scope` [INFO] [stdout] --> src/syntax.rs:953:18 [INFO] [stdout] | [INFO] [stdout] 953 | for i in 0..scope.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 953 - for i in 0..scope.len() { [INFO] [stdout] 953 + for in &scope { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `tag` [INFO] [stdout] --> src/syntax.rs:388:11 [INFO] [stdout] | [INFO] [stdout] 388 | let tag = tag; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `tag` is initially defined here [INFO] [stdout] --> src/syntax.rs:385:7 [INFO] [stdout] | [INFO] [stdout] 385 | tag => match slot(next) { [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] = note: `#[warn(clippy::redundant_locals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/syntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | while dups_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dups_vec.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: panic message contains an unused formatting placeholder [INFO] [stdout] --> src/syntax.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string when given without arguments, but will be in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add the missing argument [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ..., ); [INFO] [stdout] | +++++ [INFO] [stdout] help: or add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 238 | panic!("{}", "Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/syntax.rs:755:33 [INFO] [stdout] | [INFO] [stdout] 755 | let mut name = nam.clone().to_vec(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` 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: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:462:3 [INFO] [stdout] | [INFO] [stdout] 462 | return readback(inet, ROOT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 462 - return readback(inet, ROOT); [INFO] [stdout] 462 + readback(inet, ROOT) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | inject(&mut net, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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 boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] 489 | | || (c >= b'0' && c <= b'9') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z' || c >= b'0' && c <= b'9'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:487:6 [INFO] [stdout] | [INFO] [stdout] 487 | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'A'..=b'Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:488:6 [INFO] [stdout] | [INFO] [stdout] 488 | || (c >= b'a' && c <= b'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'a'..=b'z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:489:6 [INFO] [stdout] | [INFO] [stdout] 489 | || (c >= b'0' && c <= b'9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:503:3 [INFO] [stdout] | [INFO] [stdout] 503 | return 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] 503 - return name; [INFO] [stdout] 503 + name [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:499:5 [INFO] [stdout] | [INFO] [stdout] 499 | idx = idx - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | idx = idx / 26; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `idx /= 26` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | return idx; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 512 - return idx; [INFO] [stdout] 512 + idx [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/syntax.rs:507:29 [INFO] [stdout] | [INFO] [stdout] 507 | pub fn name_to_index(name : &Vec) -> u32 { [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] 507 - pub fn name_to_index(name : &Vec) -> u32 { [INFO] [stdout] 507 + pub fn name_to_index(name : &[Chr]) -> u32 { [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/syntax.rs:530:26 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn namespace(space : &Vec, idx : u32, var : &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 530 ~ pub fn namespace(space : &[u8], idx : u32, var : &Vec) -> Vec { [INFO] [stdout] 531 | if var != b"*" { [INFO] [stdout] 532 ~ let mut nam = space.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax.rs:773:20 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 773 - pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] 773 + pub fn from_string(code : &Str) -> Term { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:923:3 [INFO] [stdout] | [INFO] [stdout] 923 | return code; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 923 - return code; [INFO] [stdout] 923 + code [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:795:5 [INFO] [stdout] | [INFO] [stdout] 795 | / match term { [INFO] [stdout] 796 | | &Tla{ref inp, ref out} => { [INFO] [stdout] 797 | | start_highlight(code, highlight); [INFO] [stdout] 798 | | code.extend_from_slice("θ".as_bytes()); [INFO] [stdout] ... | [INFO] [stdout] 918 | | }, [INFO] [stdout] 919 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 795 ~ match *term { [INFO] [stdout] 796 ~ Tla{ref inp, ref out} => { [INFO] [stdout] 797 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 803 | }, [INFO] [stdout] 804 ~ App{ref fun, ref arg} => { [INFO] [stdout] 805 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 816 | }, [INFO] [stdout] 817 ~ Dup{tag, ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 818 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 839 | }, [INFO] [stdout] 840 ~ Ann{ref val, ref typ} => { [INFO] [stdout] 841 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 850 | }, [INFO] [stdout] 851 ~ Sup{tag, ref fst, ref snd} => { [INFO] [stdout] 852 | if tag != 0 { [INFO] [stdout] ... [INFO] [stdout] 867 | }, [INFO] [stdout] 868 ~ Lam{ref inp, ref out} => { [INFO] [stdout] 869 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 877 | }, [INFO] [stdout] 878 ~ Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 879 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 893 | }, [INFO] [stdout] 894 ~ Eql{ref fst, ref snd} => { [INFO] [stdout] 895 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 904 | }, [INFO] [stdout] 905 ~ Hig{ref val, col} => { [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] 907 | } [INFO] [stdout] 908 ~ Any => { [INFO] [stdout] 909 | code.extend_from_slice(b"@"); [INFO] [stdout] 910 | }, [INFO] [stdout] 911 ~ Era => { [INFO] [stdout] 912 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 915 | }, [INFO] [stdout] 916 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:796:7 [INFO] [stdout] | [INFO] [stdout] 796 | &Tla{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 796 - &Tla{ref inp, ref out} => { [INFO] [stdout] 796 + Tla{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:800:30 [INFO] [stdout] | [INFO] [stdout] 800 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:802:30 [INFO] [stdout] | [INFO] [stdout] 802 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:804:7 [INFO] [stdout] | [INFO] [stdout] 804 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 804 - &App{ref fun, ref arg} => { [INFO] [stdout] 804 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:808:30 [INFO] [stdout] | [INFO] [stdout] 808 | stringify_term(code, &fun, 0); [INFO] [stdout] | ^^^^ help: change this to: `fun` [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/syntax.rs:812:30 [INFO] [stdout] | [INFO] [stdout] 812 | stringify_term(code, &arg, 0); [INFO] [stdout] | ^^^^ help: change this to: `arg` [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/syntax.rs:834:30 [INFO] [stdout] | [INFO] [stdout] 834 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:838:30 [INFO] [stdout] | [INFO] [stdout] 838 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:840:7 [INFO] [stdout] | [INFO] [stdout] 840 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 840 - &Ann{ref val, ref typ} => { [INFO] [stdout] 840 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:846:30 [INFO] [stdout] | [INFO] [stdout] 846 | stringify_term(code, &typ, 0); [INFO] [stdout] | ^^^^ help: change this to: `typ` [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/syntax.rs:861:30 [INFO] [stdout] | [INFO] [stdout] 861 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:863:30 [INFO] [stdout] | [INFO] [stdout] 863 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:868:7 [INFO] [stdout] | [INFO] [stdout] 868 | &Lam{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 868 - &Lam{ref inp, ref out} => { [INFO] [stdout] 868 + Lam{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:876:30 [INFO] [stdout] | [INFO] [stdout] 876 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:878:7 [INFO] [stdout] | [INFO] [stdout] 878 | &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 878 - &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 878 + Obs{fst, snd, val, nxt} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:888:30 [INFO] [stdout] | [INFO] [stdout] 888 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:892:30 [INFO] [stdout] | [INFO] [stdout] 892 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:894:7 [INFO] [stdout] | [INFO] [stdout] 894 | &Eql{ref fst, ref snd} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 894 - &Eql{ref fst, ref snd} => { [INFO] [stdout] 894 + Eql{fst, snd} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:898:30 [INFO] [stdout] | [INFO] [stdout] 898 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:900:30 [INFO] [stdout] | [INFO] [stdout] 900 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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/syntax.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] | ^^^^ help: change this to: `val` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:916:7 [INFO] [stdout] | [INFO] [stdout] 916 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 916 - &Var{ref nam} => { [INFO] [stdout] 916 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:922:29 [INFO] [stdout] | [INFO] [stdout] 922 | stringify_term(&mut code, &term, 0); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:929:56 [INFO] [stdout] | [INFO] [stdout] 929 | write!(f, "{}", String::from_utf8_lossy(&to_string(&self))) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:939:5 [INFO] [stdout] | [INFO] [stdout] 939 | / match term { [INFO] [stdout] 940 | | &App{ref fun, ref arg} => { [INFO] [stdout] 941 | | let app = new_node(inet, CON); [INFO] [stdout] 942 | | let fun = encode(inet, label, scope, fun); [INFO] [stdout] ... | [INFO] [stdout] 973 | | _ => panic!("Invalid λ-term.") [INFO] [stdout] 974 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 939 ~ match *term { [INFO] [stdout] 940 ~ App{ref fun, ref arg} => { [INFO] [stdout] 941 | let app = new_node(inet, CON); [INFO] [stdout] ... [INFO] [stdout] 947 | }, [INFO] [stdout] 948 ~ Ann{..} => { [INFO] [stdout] 949 | todo!(); [INFO] [stdout] 950 | }, [INFO] [stdout] 951 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:940:7 [INFO] [stdout] | [INFO] [stdout] 940 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 940 - &App{ref fun, ref arg} => { [INFO] [stdout] 940 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:951:7 [INFO] [stdout] | [INFO] [stdout] 951 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 951 - &Var{ref nam} => { [INFO] [stdout] 951 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `scope` [INFO] [stdout] --> src/syntax.rs:953:18 [INFO] [stdout] | [INFO] [stdout] 953 | for i in 0..scope.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 953 - for i in 0..scope.len() { [INFO] [stdout] 953 + for in &scope { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains an unused formatting placeholder [INFO] [stdout] --> src/syntax.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string when given without arguments, but will be in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add the missing argument [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ..., ); [INFO] [stdout] | +++++ [INFO] [stdout] help: or add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 238 | panic!("{}", "Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/syntax.rs:755:33 [INFO] [stdout] | [INFO] [stdout] 755 | let mut name = nam.clone().to_vec(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` 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: redundant field names in struct initialization [INFO] [stdout] --> src/syntax.rs:322:49 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nam` [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/syntax.rs:322:49 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nam` [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: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:42:3 [INFO] [stdout] | [INFO] [stdout] 42 | return inet; [INFO] [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] 42 - return inet; [INFO] [stdout] 42 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:42:3 [INFO] [stdout] | [INFO] [stdout] 42 | return inet; [INFO] [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] 42 - return inet; [INFO] [stdout] 42 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 59 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return node; [INFO] [stdout] 59 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:59:3 [INFO] [stdout] | [INFO] [stdout] 59 | return node; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return node; [INFO] [stdout] 59 + node [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/itt.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | } else if x_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | None [INFO] [stdout] 280 | | } else if y_back { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/itt.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | } else if y_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 281 | | None [INFO] [stdout] 282 | | } /*else if x_kind == ANN { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:317:38 [INFO] [stdout] | [INFO] [stdout] 317 | let term = crate::syntax::readback(&inet, 1); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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: this `if` has identical blocks [INFO] [stdout] --> src/itt.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | } else if x_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 279 | | None [INFO] [stdout] 280 | | } else if y_back { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/itt.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | } else if y_back { [INFO] [stdout] | __________________________^ [INFO] [stdout] 281 | | None [INFO] [stdout] 282 | | } /*else if x_kind == ANN { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:317:38 [INFO] [stdout] | [INFO] [stdout] 317 | let term = crate::syntax::readback(&inet, 1); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/itt.rs:332:62 [INFO] [stdout] | [INFO] [stdout] 332 | let term = crate::syntax::readback_and_highlight(&inet, 1, &h); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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/itt.rs:332:62 [INFO] [stdout] | [INFO] [stdout] 332 | let term = crate::syntax::readback_and_highlight(&inet, 1, &h); [INFO] [stdout] | ^^^^^ help: change this to: `inet` [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/itt.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | return name.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 396 - return name.to_string(); [INFO] [stdout] 396 + name.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | return name.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 396 - return name.to_string(); [INFO] [stdout] 396 + name.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", 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] 402 - return format!("{}", name); [INFO] [stdout] 402 + format!("{}", name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", 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] 402 - return format!("{}", name); [INFO] [stdout] 402 + format!("{}", name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/itt.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/itt.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | return format!("{}", name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `name.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:424:3 [INFO] [stdout] | [INFO] [stdout] 424 | return lines; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return lines; [INFO] [stdout] 424 + lines [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/itt.rs:424:3 [INFO] [stdout] | [INFO] [stdout] 424 | return lines; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return lines; [INFO] [stdout] 424 + lines [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | &Lam { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 108 - &Lam { ref inp, ref out } => { [INFO] [stdout] 108 + Lam { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | &Lam { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 108 - &Lam { ref inp, ref out } => { [INFO] [stdout] 108 + Lam { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 120 - &App{ref fun, ref arg} => { [INFO] [stdout] 120 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 120 - &App{ref fun, ref arg} => { [INFO] [stdout] 120 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | &Tla { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 132 - &Tla { ref inp, ref out } => { [INFO] [stdout] 132 + Tla { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | &Tla { ref inp, ref out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 132 - &Tla { ref inp, ref out } => { [INFO] [stdout] 132 + Tla { inp, out } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:144:7 [INFO] [stdout] | [INFO] [stdout] 144 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 144 - &Ann{ref val, ref typ} => { [INFO] [stdout] 144 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:144:7 [INFO] [stdout] | [INFO] [stdout] 144 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 144 - &Ann{ref val, ref typ} => { [INFO] [stdout] 144 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | let val = encode_term(net, &val, port(dup, 0), scope, vars); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | let val = encode_term(net, &val, port(dup, 0), scope, vars); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | encode_term(net, &nxt, up, scope, vars) [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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/syntax.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | encode_term(net, &nxt, up, scope, vars) [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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/syntax.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | let main = encode_term(inet, &term, host, &mut scope, &mut vars); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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: the loop variable `j` is only used to index `vars` [INFO] [stdout] --> src/syntax.rs:234:14 [INFO] [stdout] | [INFO] [stdout] 234 | for j in i+1..vars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for j in i+1..vars.len() { [INFO] [stdout] 234 + for in vars.iter().skip(i+1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | let main = encode_term(inet, &term, host, &mut scope, &mut vars); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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: the loop variable `j` is only used to index `vars` [INFO] [stdout] --> src/syntax.rs:234:14 [INFO] [stdout] | [INFO] [stdout] 234 | for j in i+1..vars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for j in i+1..vars.len() { [INFO] [stdout] 234 + for in vars.iter().skip(i+1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return inet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 inet; [INFO] [stdout] 261 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | inject(&mut inet, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:261:3 [INFO] [stdout] | [INFO] [stdout] 261 | return inet; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 inet; [INFO] [stdout] 261 + inet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:260:21 [INFO] [stdout] | [INFO] [stdout] 260 | inject(&mut inet, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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 function has too many arguments (8/7) [INFO] [stdout] --> src/syntax.rs:284:3 [INFO] [stdout] | [INFO] [stdout] 284 | / fn reader ( [INFO] [stdout] 285 | | net : &INet, [INFO] [stdout] 286 | | next : Port, [INFO] [stdout] 287 | | var_name : &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 292 | | highlight: &HashMap, [INFO] [stdout] 293 | | ) -> Term { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ---------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 323 | lam [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 322 ~ [INFO] [stdout] 323 ~ Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/syntax.rs:284:3 [INFO] [stdout] | [INFO] [stdout] 284 | / fn reader ( [INFO] [stdout] 285 | | net : &INet, [INFO] [stdout] 286 | | next : Port, [INFO] [stdout] 287 | | var_name : &mut HashMap>, [INFO] [stdout] ... | [INFO] [stdout] 292 | | highlight: &HashMap, [INFO] [stdout] 293 | | ) -> Term { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | let lam = Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) }; [INFO] [stdout] | ---------------------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 323 | lam [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 322 ~ [INFO] [stdout] 323 ~ Lam { inp: Box::new(Var { nam: nam }), out: Box::new(bod) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `tag` [INFO] [stdout] --> src/syntax.rs:388:11 [INFO] [stdout] | [INFO] [stdout] 388 | let tag = tag; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `tag` is initially defined here [INFO] [stdout] --> src/syntax.rs:385:7 [INFO] [stdout] | [INFO] [stdout] 385 | tag => match slot(next) { [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] = note: `#[warn(clippy::redundant_locals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant redefinition of a binding `tag` [INFO] [stdout] --> src/syntax.rs:388:11 [INFO] [stdout] | [INFO] [stdout] 388 | let tag = tag; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `tag` is initially defined here [INFO] [stdout] --> src/syntax.rs:385:7 [INFO] [stdout] | [INFO] [stdout] 385 | tag => match slot(next) { [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_locals [INFO] [stdout] = note: `#[warn(clippy::redundant_locals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/syntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | while dups_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dups_vec.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: length comparison to zero [INFO] [stdout] --> src/syntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | while dups_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dups_vec.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/syntax.rs:462:3 [INFO] [stdout] | [INFO] [stdout] 462 | return readback(inet, ROOT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 462 - return readback(inet, ROOT); [INFO] [stdout] 462 + readback(inet, ROOT) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | inject(&mut net, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:462:3 [INFO] [stdout] | [INFO] [stdout] 462 | return readback(inet, ROOT); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 462 - return readback(inet, ROOT); [INFO] [stdout] 462 + readback(inet, ROOT) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | inject(&mut net, &term, ROOT); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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 boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] 489 | | || (c >= b'0' && c <= b'9') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z' || c >= b'0' && c <= b'9'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] 489 | | || (c >= b'0' && c <= b'9') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z' || c >= b'0' && c <= b'9'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:487:6 [INFO] [stdout] | [INFO] [stdout] 487 | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'A'..=b'Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] 488 | | || (c >= b'a' && c <= b'z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z' || c >= b'a' && c <= b'z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:488:6 [INFO] [stdout] | [INFO] [stdout] 488 | || (c >= b'a' && c <= b'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'a'..=b'z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/syntax.rs:486:3 [INFO] [stdout] | [INFO] [stdout] 486 | / false [INFO] [stdout] 487 | | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | |_____________________________^ help: try: `c >= b'A' && c <= b'Z'` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:489:6 [INFO] [stdout] | [INFO] [stdout] 489 | || (c >= b'0' && c <= b'9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:487:6 [INFO] [stdout] | [INFO] [stdout] 487 | || (c >= b'A' && c <= b'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'A'..=b'Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:503:3 [INFO] [stdout] | [INFO] [stdout] 503 | return 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] 503 - return name; [INFO] [stdout] 503 + name [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:488:6 [INFO] [stdout] | [INFO] [stdout] 488 | || (c >= b'a' && c <= b'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'a'..=b'z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/syntax.rs:489:6 [INFO] [stdout] | [INFO] [stdout] 489 | || (c >= b'0' && c <= b'9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:499:5 [INFO] [stdout] | [INFO] [stdout] 499 | idx = idx - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:503:3 [INFO] [stdout] | [INFO] [stdout] 503 | return 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] 503 - return name; [INFO] [stdout] 503 + name [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | idx = idx / 26; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `idx /= 26` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:499:5 [INFO] [stdout] | [INFO] [stdout] 499 | idx = idx - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | return idx; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 512 - return idx; [INFO] [stdout] 512 + idx [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/syntax.rs:507:29 [INFO] [stdout] | [INFO] [stdout] 507 | pub fn name_to_index(name : &Vec) -> u32 { [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] 507 - pub fn name_to_index(name : &Vec) -> u32 { [INFO] [stdout] 507 + pub fn name_to_index(name : &[Chr]) -> u32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/syntax.rs:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | idx = idx / 26; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `idx /= 26` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | return idx; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 512 - return idx; [INFO] [stdout] 512 + idx [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/syntax.rs:507:29 [INFO] [stdout] | [INFO] [stdout] 507 | pub fn name_to_index(name : &Vec) -> u32 { [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] 507 - pub fn name_to_index(name : &Vec) -> u32 { [INFO] [stdout] 507 + pub fn name_to_index(name : &[Chr]) -> u32 { [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/syntax.rs:530:26 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn namespace(space : &Vec, idx : u32, var : &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 530 ~ pub fn namespace(space : &[u8], idx : u32, var : &Vec) -> Vec { [INFO] [stdout] 531 | if var != b"*" { [INFO] [stdout] 532 ~ let mut nam = space.to_owned(); [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/syntax.rs:530:26 [INFO] [stdout] | [INFO] [stdout] 530 | pub fn namespace(space : &Vec, idx : u32, var : &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 530 ~ pub fn namespace(space : &[u8], idx : u32, var : &Vec) -> Vec { [INFO] [stdout] 531 | if var != b"*" { [INFO] [stdout] 532 ~ let mut nam = space.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax.rs:773:20 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 773 - pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] 773 + pub fn from_string(code : &Str) -> Term { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:923:3 [INFO] [stdout] | [INFO] [stdout] 923 | return code; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 923 - return code; [INFO] [stdout] 923 + code [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax.rs:773:20 [INFO] [stdout] | [INFO] [stdout] 773 | pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 773 - pub fn from_string<'a>(code : &'a Str) -> Term { [INFO] [stdout] 773 + pub fn from_string(code : &Str) -> Term { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax.rs:923:3 [INFO] [stdout] | [INFO] [stdout] 923 | return code; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 923 - return code; [INFO] [stdout] 923 + code [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:795:5 [INFO] [stdout] | [INFO] [stdout] 795 | / match term { [INFO] [stdout] 796 | | &Tla{ref inp, ref out} => { [INFO] [stdout] 797 | | start_highlight(code, highlight); [INFO] [stdout] 798 | | code.extend_from_slice("θ".as_bytes()); [INFO] [stdout] ... | [INFO] [stdout] 918 | | }, [INFO] [stdout] 919 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 795 ~ match *term { [INFO] [stdout] 796 ~ Tla{ref inp, ref out} => { [INFO] [stdout] 797 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 803 | }, [INFO] [stdout] 804 ~ App{ref fun, ref arg} => { [INFO] [stdout] 805 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 816 | }, [INFO] [stdout] 817 ~ Dup{tag, ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 818 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 839 | }, [INFO] [stdout] 840 ~ Ann{ref val, ref typ} => { [INFO] [stdout] 841 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 850 | }, [INFO] [stdout] 851 ~ Sup{tag, ref fst, ref snd} => { [INFO] [stdout] 852 | if tag != 0 { [INFO] [stdout] ... [INFO] [stdout] 867 | }, [INFO] [stdout] 868 ~ Lam{ref inp, ref out} => { [INFO] [stdout] 869 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 877 | }, [INFO] [stdout] 878 ~ Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 879 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 893 | }, [INFO] [stdout] 894 ~ Eql{ref fst, ref snd} => { [INFO] [stdout] 895 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 904 | }, [INFO] [stdout] 905 ~ Hig{ref val, col} => { [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] 907 | } [INFO] [stdout] 908 ~ Any => { [INFO] [stdout] 909 | code.extend_from_slice(b"@"); [INFO] [stdout] 910 | }, [INFO] [stdout] 911 ~ Era => { [INFO] [stdout] 912 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 915 | }, [INFO] [stdout] 916 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:796:7 [INFO] [stdout] | [INFO] [stdout] 796 | &Tla{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 796 - &Tla{ref inp, ref out} => { [INFO] [stdout] 796 + Tla{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:800:30 [INFO] [stdout] | [INFO] [stdout] 800 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:802:30 [INFO] [stdout] | [INFO] [stdout] 802 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:804:7 [INFO] [stdout] | [INFO] [stdout] 804 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 804 - &App{ref fun, ref arg} => { [INFO] [stdout] 804 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:808:30 [INFO] [stdout] | [INFO] [stdout] 808 | stringify_term(code, &fun, 0); [INFO] [stdout] | ^^^^ help: change this to: `fun` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:795:5 [INFO] [stdout] | [INFO] [stdout] 795 | / match term { [INFO] [stdout] 796 | | &Tla{ref inp, ref out} => { [INFO] [stdout] 797 | | start_highlight(code, highlight); [INFO] [stdout] 798 | | code.extend_from_slice("θ".as_bytes()); [INFO] [stdout] ... | [INFO] [stdout] 918 | | }, [INFO] [stdout] 919 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 795 ~ match *term { [INFO] [stdout] 796 ~ Tla{ref inp, ref out} => { [INFO] [stdout] 797 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 803 | }, [INFO] [stdout] 804 ~ App{ref fun, ref arg} => { [INFO] [stdout] 805 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 816 | }, [INFO] [stdout] 817 ~ Dup{tag, ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 818 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 839 | }, [INFO] [stdout] 840 ~ Ann{ref val, ref typ} => { [INFO] [stdout] 841 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 850 | }, [INFO] [stdout] 851 ~ Sup{tag, ref fst, ref snd} => { [INFO] [stdout] 852 | if tag != 0 { [INFO] [stdout] ... [INFO] [stdout] 867 | }, [INFO] [stdout] 868 ~ Lam{ref inp, ref out} => { [INFO] [stdout] 869 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 877 | }, [INFO] [stdout] 878 ~ Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 879 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 893 | }, [INFO] [stdout] 894 ~ Eql{ref fst, ref snd} => { [INFO] [stdout] 895 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 904 | }, [INFO] [stdout] 905 ~ Hig{ref val, col} => { [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] 907 | } [INFO] [stdout] 908 ~ Any => { [INFO] [stdout] 909 | code.extend_from_slice(b"@"); [INFO] [stdout] 910 | }, [INFO] [stdout] 911 ~ Era => { [INFO] [stdout] 912 | start_highlight(code, highlight); [INFO] [stdout] ... [INFO] [stdout] 915 | }, [INFO] [stdout] 916 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:812:30 [INFO] [stdout] | [INFO] [stdout] 812 | stringify_term(code, &arg, 0); [INFO] [stdout] | ^^^^ help: change this to: `arg` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:796:7 [INFO] [stdout] | [INFO] [stdout] 796 | &Tla{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 796 - &Tla{ref inp, ref out} => { [INFO] [stdout] 796 + Tla{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:800:30 [INFO] [stdout] | [INFO] [stdout] 800 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:834:30 [INFO] [stdout] | [INFO] [stdout] 834 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:838:30 [INFO] [stdout] | [INFO] [stdout] 838 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:840:7 [INFO] [stdout] | [INFO] [stdout] 840 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 840 - &Ann{ref val, ref typ} => { [INFO] [stdout] 840 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:802:30 [INFO] [stdout] | [INFO] [stdout] 802 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:804:7 [INFO] [stdout] | [INFO] [stdout] 804 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 804 - &App{ref fun, ref arg} => { [INFO] [stdout] 804 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:808:30 [INFO] [stdout] | [INFO] [stdout] 808 | stringify_term(code, &fun, 0); [INFO] [stdout] | ^^^^ help: change this to: `fun` [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/syntax.rs:812:30 [INFO] [stdout] | [INFO] [stdout] 812 | stringify_term(code, &arg, 0); [INFO] [stdout] | ^^^^ help: change this to: `arg` [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/syntax.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:846:30 [INFO] [stdout] | [INFO] [stdout] 846 | stringify_term(code, &typ, 0); [INFO] [stdout] | ^^^^ help: change this to: `typ` [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/syntax.rs:861:30 [INFO] [stdout] | [INFO] [stdout] 861 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:863:30 [INFO] [stdout] | [INFO] [stdout] 863 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:868:7 [INFO] [stdout] | [INFO] [stdout] 868 | &Lam{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 868 - &Lam{ref inp, ref out} => { [INFO] [stdout] 868 + Lam{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:834:30 [INFO] [stdout] | [INFO] [stdout] 834 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:876:30 [INFO] [stdout] | [INFO] [stdout] 876 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:878:7 [INFO] [stdout] | [INFO] [stdout] 878 | &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 878 - &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 878 + Obs{fst, snd, val, nxt} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:838:30 [INFO] [stdout] | [INFO] [stdout] 838 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:840:7 [INFO] [stdout] | [INFO] [stdout] 840 | &Ann{ref val, ref typ} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 840 - &Ann{ref val, ref typ} => { [INFO] [stdout] 840 + Ann{val, typ} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:888:30 [INFO] [stdout] | [INFO] [stdout] 888 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:846:30 [INFO] [stdout] | [INFO] [stdout] 846 | stringify_term(code, &typ, 0); [INFO] [stdout] | ^^^^ help: change this to: `typ` [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/syntax.rs:892:30 [INFO] [stdout] | [INFO] [stdout] 892 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:894:7 [INFO] [stdout] | [INFO] [stdout] 894 | &Eql{ref fst, ref snd} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 894 - &Eql{ref fst, ref snd} => { [INFO] [stdout] 894 + Eql{fst, snd} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:898:30 [INFO] [stdout] | [INFO] [stdout] 898 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:861:30 [INFO] [stdout] | [INFO] [stdout] 861 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:900:30 [INFO] [stdout] | [INFO] [stdout] 900 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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/syntax.rs:863:30 [INFO] [stdout] | [INFO] [stdout] 863 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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/syntax.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] | ^^^^ help: change this to: `val` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:868:7 [INFO] [stdout] | [INFO] [stdout] 868 | &Lam{ref inp, ref out} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 868 - &Lam{ref inp, ref out} => { [INFO] [stdout] 868 + Lam{inp, out} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:916:7 [INFO] [stdout] | [INFO] [stdout] 916 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 916 - &Var{ref nam} => { [INFO] [stdout] 916 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | stringify_term(code, &inp, 0); [INFO] [stdout] | ^^^^ help: change this to: `inp` [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/syntax.rs:922:29 [INFO] [stdout] | [INFO] [stdout] 922 | stringify_term(&mut code, &term, 0); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:876:30 [INFO] [stdout] | [INFO] [stdout] 876 | stringify_term(code, &out, 0); [INFO] [stdout] | ^^^^ help: change this to: `out` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:878:7 [INFO] [stdout] | [INFO] [stdout] 878 | &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 878 - &Obs{ref fst, ref snd, ref val, ref nxt} => { [INFO] [stdout] 878 + Obs{fst, snd, val, nxt} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:929:56 [INFO] [stdout] | [INFO] [stdout] 929 | write!(f, "{}", String::from_utf8_lossy(&to_string(&self))) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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/syntax.rs:888:30 [INFO] [stdout] | [INFO] [stdout] 888 | stringify_term(code, &val, 0); [INFO] [stdout] | ^^^^ help: change this to: `val` [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/syntax.rs:892:30 [INFO] [stdout] | [INFO] [stdout] 892 | stringify_term(code, &nxt, 0); [INFO] [stdout] | ^^^^ help: change this to: `nxt` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:939:5 [INFO] [stdout] | [INFO] [stdout] 939 | / match term { [INFO] [stdout] 940 | | &App{ref fun, ref arg} => { [INFO] [stdout] 941 | | let app = new_node(inet, CON); [INFO] [stdout] 942 | | let fun = encode(inet, label, scope, fun); [INFO] [stdout] ... | [INFO] [stdout] 973 | | _ => panic!("Invalid λ-term.") [INFO] [stdout] 974 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 939 ~ match *term { [INFO] [stdout] 940 ~ App{ref fun, ref arg} => { [INFO] [stdout] 941 | let app = new_node(inet, CON); [INFO] [stdout] ... [INFO] [stdout] 947 | }, [INFO] [stdout] 948 ~ Ann{..} => { [INFO] [stdout] 949 | todo!(); [INFO] [stdout] 950 | }, [INFO] [stdout] 951 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:894:7 [INFO] [stdout] | [INFO] [stdout] 894 | &Eql{ref fst, ref snd} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 894 - &Eql{ref fst, ref snd} => { [INFO] [stdout] 894 + Eql{fst, snd} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:898:30 [INFO] [stdout] | [INFO] [stdout] 898 | stringify_term(code, &fst, 0); [INFO] [stdout] | ^^^^ help: change this to: `fst` [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/syntax.rs:900:30 [INFO] [stdout] | [INFO] [stdout] 900 | stringify_term(code, &snd, 0); [INFO] [stdout] | ^^^^ help: change this to: `snd` [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/syntax.rs:906:30 [INFO] [stdout] | [INFO] [stdout] 906 | stringify_term(code, &val, col) [INFO] [stdout] | ^^^^ help: change this to: `val` [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: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:940:7 [INFO] [stdout] | [INFO] [stdout] 940 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 940 - &App{ref fun, ref arg} => { [INFO] [stdout] 940 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:951:7 [INFO] [stdout] | [INFO] [stdout] 951 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 951 - &Var{ref nam} => { [INFO] [stdout] 951 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `scope` [INFO] [stdout] --> src/syntax.rs:953:18 [INFO] [stdout] | [INFO] [stdout] 953 | for i in 0..scope.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 953 - for i in 0..scope.len() { [INFO] [stdout] 953 + for in &scope { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:916:7 [INFO] [stdout] | [INFO] [stdout] 916 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 916 - &Var{ref nam} => { [INFO] [stdout] 916 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/syntax.rs:922:29 [INFO] [stdout] | [INFO] [stdout] 922 | stringify_term(&mut code, &term, 0); [INFO] [stdout] | ^^^^^ help: change this to: `term` [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/syntax.rs:929:56 [INFO] [stdout] | [INFO] [stdout] 929 | write!(f, "{}", String::from_utf8_lossy(&to_string(&self))) [INFO] [stdout] | ^^^^^ help: change this to: `self` [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: you don't need to add `&` to all patterns [INFO] [stdout] --> src/syntax.rs:939:5 [INFO] [stdout] | [INFO] [stdout] 939 | / match term { [INFO] [stdout] 940 | | &App{ref fun, ref arg} => { [INFO] [stdout] 941 | | let app = new_node(inet, CON); [INFO] [stdout] 942 | | let fun = encode(inet, label, scope, fun); [INFO] [stdout] ... | [INFO] [stdout] 973 | | _ => panic!("Invalid λ-term.") [INFO] [stdout] 974 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 939 ~ match *term { [INFO] [stdout] 940 ~ App{ref fun, ref arg} => { [INFO] [stdout] 941 | let app = new_node(inet, CON); [INFO] [stdout] ... [INFO] [stdout] 947 | }, [INFO] [stdout] 948 ~ Ann{..} => { [INFO] [stdout] 949 | todo!(); [INFO] [stdout] 950 | }, [INFO] [stdout] 951 ~ Var{ref nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:940:7 [INFO] [stdout] | [INFO] [stdout] 940 | &App{ref fun, ref arg} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 940 - &App{ref fun, ref arg} => { [INFO] [stdout] 940 + App{fun, arg} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/syntax.rs:951:7 [INFO] [stdout] | [INFO] [stdout] 951 | &Var{ref nam} => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 951 - &Var{ref nam} => { [INFO] [stdout] 951 + Var{nam} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `scope` [INFO] [stdout] --> src/syntax.rs:953:18 [INFO] [stdout] | [INFO] [stdout] 953 | for i in 0..scope.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 953 - for i in 0..scope.len() { [INFO] [stdout] 953 + for in &scope { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/main.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | println!("{}", "Equality failed. Terms are not equal."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 60 - println!("{}", "Equality failed. Terms are not equal."); [INFO] [stdout] 60 + println!("Equality failed. Terms are not equal."); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains an unused formatting placeholder [INFO] [stdout] --> src/syntax.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string when given without arguments, but will be in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add the missing argument [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ..., ); [INFO] [stdout] | +++++ [INFO] [stdout] help: or add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 238 | panic!("{}", "Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/syntax.rs:755:33 [INFO] [stdout] | [INFO] [stdout] 755 | let mut name = nam.clone().to_vec(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` 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: literal with an empty format string [INFO] [stdout] --> src/main.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | println!("{}", "Equality failed. Terms are not equal."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 60 - println!("{}", "Equality failed. Terms are not equal."); [INFO] [stdout] 60 + println!("Equality failed. Terms are not equal."); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains an unused formatting placeholder [INFO] [stdout] --> src/syntax.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string when given without arguments, but will be in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add the missing argument [INFO] [stdout] | [INFO] [stdout] 238 | panic!("Variable {:?} bound/used more than twice!", ..., ); [INFO] [stdout] | +++++ [INFO] [stdout] help: or add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 238 | panic!("{}", "Variable {:?} bound/used more than twice!", ); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/syntax.rs:755:33 [INFO] [stdout] | [INFO] [stdout] 755 | let mut name = nam.clone().to_vec(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.25s [INFO] running `Command { std: "docker" "inspect" "76fbe094e957d8b5e4ef055995dd8d0c8f69e2a3b58ed68b073294c549dacf4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76fbe094e957d8b5e4ef055995dd8d0c8f69e2a3b58ed68b073294c549dacf4d", kill_on_drop: false }` [INFO] [stdout] 76fbe094e957d8b5e4ef055995dd8d0c8f69e2a3b58ed68b073294c549dacf4d