[INFO] updating cached repository MaiaVictor/formality [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/MaiaVictor/formality [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/MaiaVictor/formality" "work/ex/clippy-test-run/sources/stable/gh/MaiaVictor/formality"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/MaiaVictor/formality'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/MaiaVictor/formality" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MaiaVictor/formality"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MaiaVictor/formality'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9a470dde9f90454e43ecf5b7a39da85b023d5304 [INFO] sha for GitHub repo MaiaVictor/formality: 9a470dde9f90454e43ecf5b7a39da85b023d5304 [INFO] validating manifest of MaiaVictor/formality on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of MaiaVictor/formality on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing MaiaVictor/formality [INFO] finished frobbing MaiaVictor/formality [INFO] frobbed toml for MaiaVictor/formality written to work/ex/clippy-test-run/sources/stable/gh/MaiaVictor/formality/Cargo.toml [INFO] started frobbing MaiaVictor/formality [INFO] finished frobbing MaiaVictor/formality [INFO] frobbed toml for MaiaVictor/formality written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/MaiaVictor/formality/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting MaiaVictor/formality against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/MaiaVictor/formality:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f5ebd8ed69d9daf3bee8259162cede217488b157861a7993cdf5a0fbad0e909a [INFO] running `"docker" "start" "-a" "f5ebd8ed69d9daf3bee8259162cede217488b157861a7993cdf5a0fbad0e909a"` [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking symmetric-interaction-calculus v0.1.8 [INFO] [stderr] Checking formality v0.1.11 (/opt/crater/workdir) [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | &Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Lam { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:168:14 [INFO] [stderr] | [INFO] [stderr] 168 | &All{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:175:10 [INFO] [stderr] | [INFO] [stderr] 175 | &Ref{nam: _} => 0, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:176:14 [INFO] [stderr] | [INFO] [stderr] 176 | &Idt{nam: _, ref arg, ref par, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref par, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:191:14 [INFO] [stderr] | [INFO] [stderr] 191 | &Cpy{nam: _, ref val, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref val, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | &mut Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:210:18 [INFO] [stderr] | [INFO] [stderr] 210 | &mut All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:217:14 [INFO] [stderr] | [INFO] [stderr] 217 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | &mut Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:241:18 [INFO] [stderr] | [INFO] [stderr] 241 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:305:18 [INFO] [stderr] | [INFO] [stderr] 305 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:21 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:29 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | Cpy{nam: _, mut val, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { mut val, mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:494:26 [INFO] [stderr] | [INFO] [stderr] 494 | New{ref mut idt, ctr: _, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ref mut idt, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:509:13 [INFO] [stderr] | [INFO] [stderr] 509 | Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | App{ref mut fun, arg: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `App { ref mut fun, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:26 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:34 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { ref mut val, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:585:15 [INFO] [stderr] | [INFO] [stderr] 585 | (&Lam{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:586:15 [INFO] [stderr] | [INFO] [stderr] 586 | &Lam{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:590:15 [INFO] [stderr] | [INFO] [stderr] 590 | (&All{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:591:15 [INFO] [stderr] | [INFO] [stderr] 591 | &All{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:603:15 [INFO] [stderr] | [INFO] [stderr] 603 | (&Idt{nam: _, arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:604:15 [INFO] [stderr] | [INFO] [stderr] 604 | &Idt{nam: _, arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:634:31 [INFO] [stderr] | [INFO] [stderr] 634 | (&New{idt: ref a_idt, ctr: _, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref a_idt, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:635:31 [INFO] [stderr] | [INFO] [stderr] 635 | &New{idt: ref b_idt, ctr: _, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref b_idt, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:650:15 [INFO] [stderr] | [INFO] [stderr] 650 | (&Cpy{nam: _, val: ref a_val, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref a_val, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | &Cpy{nam: _, val: ref b_val, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref b_val, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:29 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:13 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:26 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:39 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg, typ, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:800:18 [INFO] [stderr] | [INFO] [stderr] 800 | New{idt, ctr: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:17 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:38 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:46 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:54 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:25 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:33 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:41 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr: idt_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:872:5 [INFO] [stderr] | [INFO] [stderr] 872 | return message; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:778:33 [INFO] [stderr] | [INFO] [stderr] 778 | MatchNotIDT{ref actual, term: _, ref vars} => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MatchNotIDT { ref actual, ref vars, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | All{nam: _, typ: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | Idt{nam: _, arg: _, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | New{idt: _, ctr, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ctr, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | Cas{val, cas, ret: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { val, cas, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/compiler.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/compiler.rs:145:27 [INFO] [stderr] | [INFO] [stderr] 145 | let res = sic::term::Term::App{ [INFO] [stderr] | ___________________________^ [INFO] [stderr] 146 | | fun: Box::new(fun), [INFO] [stderr] 147 | | arg: Box::new(val) [INFO] [stderr] 148 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | Cpy{nam: _, val, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | sic::term::Term::Lam{nam: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:229:25 [INFO] [stderr] | [INFO] [stderr] 229 | All{nam: _, typ, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:45 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | &Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Lam { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:168:14 [INFO] [stderr] | [INFO] [stderr] 168 | &All{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:175:10 [INFO] [stderr] | [INFO] [stderr] 175 | &Ref{nam: _} => 0, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:176:14 [INFO] [stderr] | [INFO] [stderr] 176 | &Idt{nam: _, ref arg, ref par, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref par, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:191:14 [INFO] [stderr] | [INFO] [stderr] 191 | &Cpy{nam: _, ref val, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref val, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | &mut Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:210:18 [INFO] [stderr] | [INFO] [stderr] 210 | &mut All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:217:14 [INFO] [stderr] | [INFO] [stderr] 217 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | &mut Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:241:18 [INFO] [stderr] | [INFO] [stderr] 241 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:305:18 [INFO] [stderr] | [INFO] [stderr] 305 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:21 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:29 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | Cpy{nam: _, mut val, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { mut val, mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:494:26 [INFO] [stderr] | [INFO] [stderr] 494 | New{ref mut idt, ctr: _, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ref mut idt, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:509:13 [INFO] [stderr] | [INFO] [stderr] 509 | Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | App{ref mut fun, arg: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `App { ref mut fun, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:26 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:34 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { ref mut val, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:585:15 [INFO] [stderr] | [INFO] [stderr] 585 | (&Lam{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:586:15 [INFO] [stderr] | [INFO] [stderr] 586 | &Lam{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:590:15 [INFO] [stderr] | [INFO] [stderr] 590 | (&All{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:591:15 [INFO] [stderr] | [INFO] [stderr] 591 | &All{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:603:15 [INFO] [stderr] | [INFO] [stderr] 603 | (&Idt{nam: _, arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:604:15 [INFO] [stderr] | [INFO] [stderr] 604 | &Idt{nam: _, arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:634:31 [INFO] [stderr] | [INFO] [stderr] 634 | (&New{idt: ref a_idt, ctr: _, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref a_idt, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:635:31 [INFO] [stderr] | [INFO] [stderr] 635 | &New{idt: ref b_idt, ctr: _, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref b_idt, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:650:15 [INFO] [stderr] | [INFO] [stderr] 650 | (&Cpy{nam: _, val: ref a_val, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref a_val, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | &Cpy{nam: _, val: ref b_val, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref b_val, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:29 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:13 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:26 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:39 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg, typ, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:800:18 [INFO] [stderr] | [INFO] [stderr] 800 | New{idt, ctr: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:17 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:38 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:46 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:54 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:25 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:33 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:41 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr: idt_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:872:5 [INFO] [stderr] | [INFO] [stderr] 872 | return message; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:778:33 [INFO] [stderr] | [INFO] [stderr] 778 | MatchNotIDT{ref actual, term: _, ref vars} => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MatchNotIDT { ref actual, ref vars, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | All{nam: _, typ: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | Idt{nam: _, arg: _, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | New{idt: _, ctr, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ctr, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | Cas{val, cas, ret: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { val, cas, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/compiler.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/compiler.rs:145:27 [INFO] [stderr] | [INFO] [stderr] 145 | let res = sic::term::Term::App{ [INFO] [stderr] | ___________________________^ [INFO] [stderr] 146 | | fun: Box::new(fun), [INFO] [stderr] 147 | | arg: Box::new(val) [INFO] [stderr] 148 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | Cpy{nam: _, val, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | sic::term::Term::Lam{nam: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:229:25 [INFO] [stderr] | [INFO] [stderr] 229 | All{nam: _, typ, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:45 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:21 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &[u8], vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `nam.clone()` to [INFO] [stderr] | [INFO] [stderr] 146 | let mut new_nam = nam.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:38 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/term.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | if new_nam.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!new_nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match term { [INFO] [stderr] 160 | | &App{ref fun, ref arg} => { [INFO] [stderr] 161 | | uses(fun, dpt) + [INFO] [stderr] 162 | | uses(arg, dpt) [INFO] [stderr] ... | [INFO] [stderr] 195 | | &Set => 0 [INFO] [stderr] 196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 159 | match *term { [INFO] [stderr] 160 | App{ref fun, ref arg} => { [INFO] [stderr] 161 | uses(fun, dpt) + [INFO] [stderr] 162 | uses(arg, dpt) [INFO] [stderr] 163 | }, [INFO] [stderr] 164 | Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | / match term { [INFO] [stderr] 202 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | | shift(fun, inc, cut); [INFO] [stderr] 204 | | shift(arg, inc, cut); [INFO] [stderr] ... | [INFO] [stderr] 245 | | &mut Set => {} [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 201 | match *term { [INFO] [stderr] 202 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | shift(fun, inc, cut); [INFO] [stderr] 204 | shift(arg, inc, cut); [INFO] [stderr] 205 | }, [INFO] [stderr] 206 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:259:5 [INFO] [stderr] | [INFO] [stderr] 259 | / match term { [INFO] [stderr] 260 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | | subs(fun, value, dpt); [INFO] [stderr] 262 | | subs(arg, value, dpt); [INFO] [stderr] ... | [INFO] [stderr] 309 | | _ => {} [INFO] [stderr] 310 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *term { [INFO] [stderr] 260 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | subs(fun, value, dpt); [INFO] [stderr] 262 | subs(arg, value, dpt); [INFO] [stderr] 263 | }, [INFO] [stderr] 264 | Lam{nam: ref mut _nam, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:286:22 [INFO] [stderr] | [INFO] [stderr] 286 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 286 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/term.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / match new_term { [INFO] [stderr] 313 | | Some(new_term) => *term = new_term, [INFO] [stderr] 314 | | None => {} [INFO] [stderr] 315 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(new_term) = new_term { *term = new_term }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/term.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | / loop { [INFO] [stderr] 323 | | match term { [INFO] [stderr] 324 | | App{ref fun, ref arg} => { [INFO] [stderr] 325 | | args.push(arg); [INFO] [stderr] ... | [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ help: try: `while let App{ref fun, ref arg} = term { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:412:53 [INFO] [stderr] | [INFO] [stderr] 412 | shift(&mut new_arg, ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arg`. [INFO] [stderr] --> src/term.rs:480:22 [INFO] [stderr] | [INFO] [stderr] 480 | for i in 0..arg.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 480 | for in &mut arg { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:484:22 [INFO] [stderr] | [INFO] [stderr] 484 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 484 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:488:22 [INFO] [stderr] | [INFO] [stderr] 488 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 488 | for in &mut ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `cas`. [INFO] [stderr] --> src/term.rs:501:22 [INFO] [stderr] | [INFO] [stderr] 501 | for i in 0..cas.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 501 | for in &mut cas { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:674:14 [INFO] [stderr] | [INFO] [stderr] 674 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 674 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:684:14 [INFO] [stderr] | [INFO] [stderr] 684 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 684 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 699 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/term.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | pub fn do_infer<'a>(term : &Term, vars : &mut Vars, defs : &Defs, ctx : &mut Context, checked : bool) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/term.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 803 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:809:33 [INFO] [stderr] | [INFO] [stderr] 809 | shift(&mut bod_typ, idt_ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:21 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &[u8], vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `nam.clone()` to [INFO] [stderr] | [INFO] [stderr] 146 | let mut new_nam = nam.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:38 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/term.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | if new_nam.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!new_nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/extra.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 78 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match term { [INFO] [stderr] 160 | | &App{ref fun, ref arg} => { [INFO] [stderr] 161 | | uses(fun, dpt) + [INFO] [stderr] 162 | | uses(arg, dpt) [INFO] [stderr] ... | [INFO] [stderr] 195 | | &Set => 0 [INFO] [stderr] 196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 159 | match *term { [INFO] [stderr] 160 | App{ref fun, ref arg} => { [INFO] [stderr] 161 | uses(fun, dpt) + [INFO] [stderr] 162 | uses(arg, dpt) [INFO] [stderr] 163 | }, [INFO] [stderr] 164 | Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/syntax.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("Unexpected end of file.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Unexpected end of file.".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | / match term { [INFO] [stderr] 202 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | | shift(fun, inc, cut); [INFO] [stderr] 204 | | shift(arg, inc, cut); [INFO] [stderr] ... | [INFO] [stderr] 245 | | &mut Set => {} [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 201 | match *term { [INFO] [stderr] 202 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | shift(fun, inc, cut); [INFO] [stderr] 204 | shift(arg, inc, cut); [INFO] [stderr] 205 | }, [INFO] [stderr] 206 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if name.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:259:5 [INFO] [stderr] | [INFO] [stderr] 259 | / match term { [INFO] [stderr] 260 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | | subs(fun, value, dpt); [INFO] [stderr] 262 | | subs(arg, value, dpt); [INFO] [stderr] ... | [INFO] [stderr] 309 | | _ => {} [INFO] [stderr] 310 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *term { [INFO] [stderr] 260 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | subs(fun, value, dpt); [INFO] [stderr] 262 | subs(arg, value, dpt); [INFO] [stderr] 263 | }, [INFO] [stderr] 264 | Lam{nam: ref mut _nam, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:286:22 [INFO] [stderr] | [INFO] [stderr] 286 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 286 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `strings` [INFO] [stderr] --> src/syntax.rs:116:14 [INFO] [stderr] | [INFO] [stderr] 116 | for i in 0..strings.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 116 | for (i, ) in strings.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/term.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / match new_term { [INFO] [stderr] 313 | | Some(new_term) => *term = new_term, [INFO] [stderr] 314 | | None => {} [INFO] [stderr] 315 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(new_term) = new_term { *term = new_term }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/term.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | / loop { [INFO] [stderr] 323 | | match term { [INFO] [stderr] 324 | | App{ref fun, ref arg} => { [INFO] [stderr] 325 | | args.push(arg); [INFO] [stderr] ... | [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ help: try: `while let App{ref fun, ref arg} = term { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/syntax.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | / pub fn parse_term [INFO] [stderr] 147 | | ( cursor : &mut Cursor [INFO] [stderr] 148 | | , code : &[u8] [INFO] [stderr] 149 | | , vars : &mut Vars [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:412:53 [INFO] [stderr] | [INFO] [stderr] 412 | shift(&mut new_arg, ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arg`. [INFO] [stderr] --> src/term.rs:480:22 [INFO] [stderr] | [INFO] [stderr] 480 | for i in 0..arg.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 480 | for in &mut arg { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:484:22 [INFO] [stderr] | [INFO] [stderr] 484 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 484 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:488:22 [INFO] [stderr] | [INFO] [stderr] 488 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 488 | for in &mut ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `cas`. [INFO] [stderr] --> src/term.rs:501:22 [INFO] [stderr] | [INFO] [stderr] 501 | for i in 0..cas.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 501 | for in &mut cas { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:237:18 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 237 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:674:14 [INFO] [stderr] | [INFO] [stderr] 674 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 674 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:684:14 [INFO] [stderr] | [INFO] [stderr] 684 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 684 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:390:12 [INFO] [stderr] | [INFO] [stderr] 390 | if nam.len() > 0 && nam[0] >= b'0' && nam[0] <= b'9' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 699 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/term.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | pub fn do_infer<'a>(term : &Term, vars : &mut Vars, defs : &Defs, ctx : &mut Context, checked : bool) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/syntax.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | / match weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] 454 | | for i in 0..idt_ctr.len() { [INFO] [stderr] 455 | | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] ... | [INFO] [stderr] 458 | | _ => {} [INFO] [stderr] 459 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 452 | if let Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} = weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | for i in 0..idt_ctr.len() { [INFO] [stderr] 454 | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] 455 | } [INFO] [stderr] 456 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `idt_ctr`. [INFO] [stderr] --> src/syntax.rs:454:26 [INFO] [stderr] | [INFO] [stderr] 454 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 454 | for in &idt_ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:460:18 [INFO] [stderr] | [INFO] [stderr] 460 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 460 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `args`. [INFO] [stderr] --> src/syntax.rs:493:22 [INFO] [stderr] | [INFO] [stderr] 493 | for i in 0..args.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 493 | for in &args { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/syntax.rs:506:1 [INFO] [stderr] | [INFO] [stderr] 506 | / pub fn term_from_ascii_slice<'a>(code : &'a [u8]) -> Result<(Term, Defs), String> { [INFO] [stderr] 507 | | let mut cursor = Cursor{index: 0, line: 0, column: 0}; [INFO] [stderr] 508 | | let mut vars = Vec::new(); [INFO] [stderr] 509 | | let mut defs = HashMap::new(); [INFO] [stderr] 510 | | let term = parse_term(&mut cursor, code, &mut vars, &mut defs)?; [INFO] [stderr] 511 | | Ok((term, defs)) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/syntax.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | / match term { [INFO] [stderr] 533 | | &App{ref fun, ref arg} => { [INFO] [stderr] 534 | | build(code, &fun, vars, short); [INFO] [stderr] 535 | | code.extend_from_slice(b"("); [INFO] [stderr] ... | [INFO] [stderr] 682 | | } [INFO] [stderr] 683 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 532 | match *term { [INFO] [stderr] 533 | App{ref fun, ref arg} => { [INFO] [stderr] 534 | build(code, &fun, vars, short); [INFO] [stderr] 535 | code.extend_from_slice(b"("); [INFO] [stderr] 536 | build(code, &arg, vars, short); [INFO] [stderr] 537 | code.extend_from_slice(b")"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:581:30 [INFO] [stderr] | [INFO] [stderr] 581 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 581 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:599:20 [INFO] [stderr] | [INFO] [stderr] 599 | if arg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:613:26 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 613 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/term.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 803 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:809:33 [INFO] [stderr] | [INFO] [stderr] 809 | shift(&mut bod_typ, idt_ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/extra.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 78 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/syntax.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("Unexpected end of file.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Unexpected end of file.".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if name.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `strings` [INFO] [stderr] --> src/syntax.rs:116:14 [INFO] [stderr] | [INFO] [stderr] 116 | for i in 0..strings.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 116 | for (i, ) in strings.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/syntax.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | / pub fn parse_term [INFO] [stderr] 147 | | ( cursor : &mut Cursor [INFO] [stderr] 148 | | , code : &[u8] [INFO] [stderr] 149 | | , vars : &mut Vars [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:237:18 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 237 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:390:12 [INFO] [stderr] | [INFO] [stderr] 390 | if nam.len() > 0 && nam[0] >= b'0' && nam[0] <= b'9' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/syntax.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | / match weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] 454 | | for i in 0..idt_ctr.len() { [INFO] [stderr] 455 | | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] ... | [INFO] [stderr] 458 | | _ => {} [INFO] [stderr] 459 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 452 | if let Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} = weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | for i in 0..idt_ctr.len() { [INFO] [stderr] 454 | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] 455 | } [INFO] [stderr] 456 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `idt_ctr`. [INFO] [stderr] --> src/syntax.rs:454:26 [INFO] [stderr] | [INFO] [stderr] 454 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 454 | for in &idt_ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:460:18 [INFO] [stderr] | [INFO] [stderr] 460 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 460 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `args`. [INFO] [stderr] --> src/syntax.rs:493:22 [INFO] [stderr] | [INFO] [stderr] 493 | for i in 0..args.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 493 | for in &args { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/syntax.rs:506:1 [INFO] [stderr] | [INFO] [stderr] 506 | / pub fn term_from_ascii_slice<'a>(code : &'a [u8]) -> Result<(Term, Defs), String> { [INFO] [stderr] 507 | | let mut cursor = Cursor{index: 0, line: 0, column: 0}; [INFO] [stderr] 508 | | let mut vars = Vec::new(); [INFO] [stderr] 509 | | let mut defs = HashMap::new(); [INFO] [stderr] 510 | | let term = parse_term(&mut cursor, code, &mut vars, &mut defs)?; [INFO] [stderr] 511 | | Ok((term, defs)) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/syntax.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | / match term { [INFO] [stderr] 533 | | &App{ref fun, ref arg} => { [INFO] [stderr] 534 | | build(code, &fun, vars, short); [INFO] [stderr] 535 | | code.extend_from_slice(b"("); [INFO] [stderr] ... | [INFO] [stderr] 682 | | } [INFO] [stderr] 683 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 532 | match *term { [INFO] [stderr] 533 | App{ref fun, ref arg} => { [INFO] [stderr] 534 | build(code, &fun, vars, short); [INFO] [stderr] 535 | code.extend_from_slice(b"("); [INFO] [stderr] 536 | build(code, &arg, vars, short); [INFO] [stderr] 537 | code.extend_from_slice(b")"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:581:30 [INFO] [stderr] | [INFO] [stderr] 581 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 581 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:599:20 [INFO] [stderr] | [INFO] [stderr] 599 | if arg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:613:26 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 613 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | &Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Lam { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:168:14 [INFO] [stderr] | [INFO] [stderr] 168 | &All{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:175:10 [INFO] [stderr] | [INFO] [stderr] 175 | &Ref{nam: _} => 0, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:176:14 [INFO] [stderr] | [INFO] [stderr] 176 | &Idt{nam: _, ref arg, ref par, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref par, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:191:14 [INFO] [stderr] | [INFO] [stderr] 191 | &Cpy{nam: _, ref val, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref val, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | &mut Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:210:18 [INFO] [stderr] | [INFO] [stderr] 210 | &mut All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:217:14 [INFO] [stderr] | [INFO] [stderr] 217 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | &mut Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:241:18 [INFO] [stderr] | [INFO] [stderr] 241 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:305:18 [INFO] [stderr] | [INFO] [stderr] 305 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:21 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:29 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | Cpy{nam: _, mut val, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { mut val, mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:494:26 [INFO] [stderr] | [INFO] [stderr] 494 | New{ref mut idt, ctr: _, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ref mut idt, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:509:13 [INFO] [stderr] | [INFO] [stderr] 509 | Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | App{ref mut fun, arg: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `App { ref mut fun, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:26 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:34 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { ref mut val, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:585:15 [INFO] [stderr] | [INFO] [stderr] 585 | (&Lam{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:586:15 [INFO] [stderr] | [INFO] [stderr] 586 | &Lam{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:590:15 [INFO] [stderr] | [INFO] [stderr] 590 | (&All{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:591:15 [INFO] [stderr] | [INFO] [stderr] 591 | &All{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:603:15 [INFO] [stderr] | [INFO] [stderr] 603 | (&Idt{nam: _, arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:604:15 [INFO] [stderr] | [INFO] [stderr] 604 | &Idt{nam: _, arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:634:31 [INFO] [stderr] | [INFO] [stderr] 634 | (&New{idt: ref a_idt, ctr: _, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref a_idt, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:635:31 [INFO] [stderr] | [INFO] [stderr] 635 | &New{idt: ref b_idt, ctr: _, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref b_idt, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:650:15 [INFO] [stderr] | [INFO] [stderr] 650 | (&Cpy{nam: _, val: ref a_val, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref a_val, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | &Cpy{nam: _, val: ref b_val, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref b_val, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:29 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:13 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:26 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:39 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg, typ, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:800:18 [INFO] [stderr] | [INFO] [stderr] 800 | New{idt, ctr: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:17 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:38 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:46 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:54 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:25 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:33 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:41 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr: idt_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:872:5 [INFO] [stderr] | [INFO] [stderr] 872 | return message; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:778:33 [INFO] [stderr] | [INFO] [stderr] 778 | MatchNotIDT{ref actual, term: _, ref vars} => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MatchNotIDT { ref actual, ref vars, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | All{nam: _, typ: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | Idt{nam: _, arg: _, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | New{idt: _, ctr, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ctr, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | Cas{val, cas, ret: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { val, cas, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/compiler.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/compiler.rs:145:27 [INFO] [stderr] | [INFO] [stderr] 145 | let res = sic::term::Term::App{ [INFO] [stderr] | ___________________________^ [INFO] [stderr] 146 | | fun: Box::new(fun), [INFO] [stderr] 147 | | arg: Box::new(val) [INFO] [stderr] 148 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | Cpy{nam: _, val, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | sic::term::Term::Lam{nam: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:229:25 [INFO] [stderr] | [INFO] [stderr] 229 | All{nam: _, typ, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:45 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | &Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Lam { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:168:14 [INFO] [stderr] | [INFO] [stderr] 168 | &All{nam: _, ref typ, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref typ, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:175:10 [INFO] [stderr] | [INFO] [stderr] 175 | &Ref{nam: _} => 0, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:176:14 [INFO] [stderr] | [INFO] [stderr] 176 | &Idt{nam: _, ref arg, ref par, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref par, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:191:14 [INFO] [stderr] | [INFO] [stderr] 191 | &Cpy{nam: _, ref val, ref bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref val, ref bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | &mut Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:210:18 [INFO] [stderr] | [INFO] [stderr] 210 | &mut All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:217:14 [INFO] [stderr] | [INFO] [stderr] 217 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | &mut Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:241:18 [INFO] [stderr] | [INFO] [stderr] 241 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/term.rs:281:14 [INFO] [stderr] | [INFO] [stderr] 281 | &mut Ref{nam: _} => {}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Ref { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:305:18 [INFO] [stderr] | [INFO] [stderr] 305 | &mut Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:21 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:366:29 [INFO] [stderr] | [INFO] [stderr] 366 | Lam{nam: _, typ: _, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | Cpy{nam: _, mut val, mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { mut val, mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:473:13 [INFO] [stderr] | [INFO] [stderr] 473 | All{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { ref mut typ, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | Idt{nam: _, ref mut arg, ref mut par, ref mut typ, ref mut ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, ref mut par, ref mut typ, ref mut ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:494:26 [INFO] [stderr] | [INFO] [stderr] 494 | New{ref mut idt, ctr: _, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ref mut idt, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:509:13 [INFO] [stderr] | [INFO] [stderr] 509 | Cpy{nam: _, ref mut val, ref mut bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { ref mut val, ref mut bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | App{ref mut fun, arg: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `App { ref mut fun, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:26 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:525:34 [INFO] [stderr] | [INFO] [stderr] 525 | Cas{ref mut val, ret: _, cas: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { ref mut val, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:585:15 [INFO] [stderr] | [INFO] [stderr] 585 | (&Lam{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:586:15 [INFO] [stderr] | [INFO] [stderr] 586 | &Lam{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:590:15 [INFO] [stderr] | [INFO] [stderr] 590 | (&All{nam: _, typ: ref a_typ, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref a_typ, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:591:15 [INFO] [stderr] | [INFO] [stderr] 591 | &All{nam: _, typ: ref b_typ, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ: ref b_typ, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:603:15 [INFO] [stderr] | [INFO] [stderr] 603 | (&Idt{nam: _, arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref a_arg, par: ref a_par, typ: ref a_typ, ctr: ref a_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:604:15 [INFO] [stderr] | [INFO] [stderr] 604 | &Idt{nam: _, arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg: ref b_arg, par: ref b_par, typ: ref b_typ, ctr: ref b_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:634:31 [INFO] [stderr] | [INFO] [stderr] 634 | (&New{idt: ref a_idt, ctr: _, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref a_idt, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:635:31 [INFO] [stderr] | [INFO] [stderr] 635 | &New{idt: ref b_idt, ctr: _, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt: ref b_idt, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:650:15 [INFO] [stderr] | [INFO] [stderr] 650 | (&Cpy{nam: _, val: ref a_val, bod: ref a_bod}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref a_val, bod: ref a_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | &Cpy{nam: _, val: ref b_val, bod: ref b_bod}) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val: ref b_val, bod: ref b_bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:693:29 [INFO] [stderr] | [INFO] [stderr] 693 | Idt{nam:_, ref arg, par: _, ref typ, ref ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref arg, ref typ, ref ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:13 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:26 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:792:39 [INFO] [stderr] | [INFO] [stderr] 792 | Idt{nam: _, arg, par: _, typ, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { arg, typ, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/term.rs:800:18 [INFO] [stderr] | [INFO] [stderr] 800 | New{idt, ctr: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { idt, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:17 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:38 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:46 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:417:54 [INFO] [stderr] | [INFO] [stderr] 417 | Idt{nam: _, ref mut arg, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ref mut arg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:25 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:33 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:453:41 [INFO] [stderr] | [INFO] [stderr] 453 | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr: idt_ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/syntax.rs:872:5 [INFO] [stderr] | [INFO] [stderr] 872 | return message; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/syntax.rs:778:33 [INFO] [stderr] | [INFO] [stderr] 778 | MatchNotIDT{ref actual, term: _, ref vars} => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MatchNotIDT { ref actual, ref vars, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | All{nam: _, typ: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | Lam{nam: _, typ: _, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | Idt{nam: _, arg: _, par: _, typ: _, ctr: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | New{idt: _, ctr, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `New { ctr, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | Cas{val, cas, ret: _} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cas { val, cas, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/compiler.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/compiler.rs:145:27 [INFO] [stderr] | [INFO] [stderr] 145 | let res = sic::term::Term::App{ [INFO] [stderr] | ___________________________^ [INFO] [stderr] 146 | | fun: Box::new(fun), [INFO] [stderr] 147 | | arg: Box::new(val) [INFO] [stderr] 148 | | }; [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:153:17 [INFO] [stderr] | [INFO] [stderr] 153 | Cpy{nam: _, val, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Cpy { val, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/compiler.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | sic::term::Term::Lam{nam: _, bod: _} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Lam { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:229:25 [INFO] [stderr] | [INFO] [stderr] 229 | All{nam: _, typ, bod} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `All { typ, bod, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:21 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/compiler.rs:269:45 [INFO] [stderr] | [INFO] [stderr] 269 | Idt{nam: _, arg: _, par: _, typ: _, ctr} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Idt { ctr, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/term.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / AppTypeMismatch { [INFO] [stderr] 70 | | expect: Term, [INFO] [stderr] 71 | | actual: Term, [INFO] [stderr] 72 | | argval: Term, [INFO] [stderr] 73 | | term: Term, [INFO] [stderr] 74 | | vars: Vars [INFO] [stderr] 75 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:21 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &[u8], vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `nam.clone()` to [INFO] [stderr] | [INFO] [stderr] 146 | let mut new_nam = nam.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:38 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/term.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | if new_nam.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!new_nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match term { [INFO] [stderr] 160 | | &App{ref fun, ref arg} => { [INFO] [stderr] 161 | | uses(fun, dpt) + [INFO] [stderr] 162 | | uses(arg, dpt) [INFO] [stderr] ... | [INFO] [stderr] 195 | | &Set => 0 [INFO] [stderr] 196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 159 | match *term { [INFO] [stderr] 160 | App{ref fun, ref arg} => { [INFO] [stderr] 161 | uses(fun, dpt) + [INFO] [stderr] 162 | uses(arg, dpt) [INFO] [stderr] 163 | }, [INFO] [stderr] 164 | Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | / match term { [INFO] [stderr] 202 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | | shift(fun, inc, cut); [INFO] [stderr] 204 | | shift(arg, inc, cut); [INFO] [stderr] ... | [INFO] [stderr] 245 | | &mut Set => {} [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 201 | match *term { [INFO] [stderr] 202 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | shift(fun, inc, cut); [INFO] [stderr] 204 | shift(arg, inc, cut); [INFO] [stderr] 205 | }, [INFO] [stderr] 206 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:259:5 [INFO] [stderr] | [INFO] [stderr] 259 | / match term { [INFO] [stderr] 260 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | | subs(fun, value, dpt); [INFO] [stderr] 262 | | subs(arg, value, dpt); [INFO] [stderr] ... | [INFO] [stderr] 309 | | _ => {} [INFO] [stderr] 310 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *term { [INFO] [stderr] 260 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | subs(fun, value, dpt); [INFO] [stderr] 262 | subs(arg, value, dpt); [INFO] [stderr] 263 | }, [INFO] [stderr] 264 | Lam{nam: ref mut _nam, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:286:22 [INFO] [stderr] | [INFO] [stderr] 286 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 286 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/term.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / match new_term { [INFO] [stderr] 313 | | Some(new_term) => *term = new_term, [INFO] [stderr] 314 | | None => {} [INFO] [stderr] 315 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(new_term) = new_term { *term = new_term }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/term.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | / loop { [INFO] [stderr] 323 | | match term { [INFO] [stderr] 324 | | App{ref fun, ref arg} => { [INFO] [stderr] 325 | | args.push(arg); [INFO] [stderr] ... | [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ help: try: `while let App{ref fun, ref arg} = term { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:412:53 [INFO] [stderr] | [INFO] [stderr] 412 | shift(&mut new_arg, ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arg`. [INFO] [stderr] --> src/term.rs:480:22 [INFO] [stderr] | [INFO] [stderr] 480 | for i in 0..arg.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 480 | for in &mut arg { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:484:22 [INFO] [stderr] | [INFO] [stderr] 484 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 484 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:488:22 [INFO] [stderr] | [INFO] [stderr] 488 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 488 | for in &mut ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:21 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &[u8], vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `nam.clone()` to [INFO] [stderr] | [INFO] [stderr] 146 | let mut new_nam = nam.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/term.rs:145:38 [INFO] [stderr] | [INFO] [stderr] 145 | pub fn rename(nam : &Vec, vars : &Vars) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `cas`. [INFO] [stderr] --> src/term.rs:501:22 [INFO] [stderr] | [INFO] [stderr] 501 | for i in 0..cas.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/term.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | if new_nam.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!new_nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 501 | for in &mut cas { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match term { [INFO] [stderr] 160 | | &App{ref fun, ref arg} => { [INFO] [stderr] 161 | | uses(fun, dpt) + [INFO] [stderr] 162 | | uses(arg, dpt) [INFO] [stderr] ... | [INFO] [stderr] 195 | | &Set => 0 [INFO] [stderr] 196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 159 | match *term { [INFO] [stderr] 160 | App{ref fun, ref arg} => { [INFO] [stderr] 161 | uses(fun, dpt) + [INFO] [stderr] 162 | uses(arg, dpt) [INFO] [stderr] 163 | }, [INFO] [stderr] 164 | Lam{nam: _, ref typ, ref bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | / match term { [INFO] [stderr] 202 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | | shift(fun, inc, cut); [INFO] [stderr] 204 | | shift(arg, inc, cut); [INFO] [stderr] ... | [INFO] [stderr] 245 | | &mut Set => {} [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 201 | match *term { [INFO] [stderr] 202 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 203 | shift(fun, inc, cut); [INFO] [stderr] 204 | shift(arg, inc, cut); [INFO] [stderr] 205 | }, [INFO] [stderr] 206 | Lam{nam: _, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/term.rs:259:5 [INFO] [stderr] | [INFO] [stderr] 259 | / match term { [INFO] [stderr] 260 | | &mut App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | | subs(fun, value, dpt); [INFO] [stderr] 262 | | subs(arg, value, dpt); [INFO] [stderr] ... | [INFO] [stderr] 309 | | _ => {} [INFO] [stderr] 310 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 259 | match *term { [INFO] [stderr] 260 | App{ref mut fun, ref mut arg} => { [INFO] [stderr] 261 | subs(fun, value, dpt); [INFO] [stderr] 262 | subs(arg, value, dpt); [INFO] [stderr] 263 | }, [INFO] [stderr] 264 | Lam{nam: ref mut _nam, ref mut typ, ref mut bod} => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:286:22 [INFO] [stderr] | [INFO] [stderr] 286 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 286 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/term.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / match new_term { [INFO] [stderr] 313 | | Some(new_term) => *term = new_term, [INFO] [stderr] 314 | | None => {} [INFO] [stderr] 315 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(new_term) = new_term { *term = new_term }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/term.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | / loop { [INFO] [stderr] 323 | | match term { [INFO] [stderr] 324 | | App{ref fun, ref arg} => { [INFO] [stderr] 325 | | args.push(arg); [INFO] [stderr] ... | [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ help: try: `while let App{ref fun, ref arg} = term { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:674:14 [INFO] [stderr] | [INFO] [stderr] 674 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 674 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:684:14 [INFO] [stderr] | [INFO] [stderr] 684 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 684 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:412:53 [INFO] [stderr] | [INFO] [stderr] 412 | shift(&mut new_arg, ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 699 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/term.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | pub fn do_infer<'a>(term : &Term, vars : &mut Vars, defs : &Defs, ctx : &mut Context, checked : bool) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arg`. [INFO] [stderr] --> src/term.rs:480:22 [INFO] [stderr] | [INFO] [stderr] 480 | for i in 0..arg.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 480 | for in &mut arg { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/term.rs:484:22 [INFO] [stderr] | [INFO] [stderr] 484 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 484 | for in &mut par { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:488:22 [INFO] [stderr] | [INFO] [stderr] 488 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 488 | for in &mut ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `cas`. [INFO] [stderr] --> src/term.rs:501:22 [INFO] [stderr] | [INFO] [stderr] 501 | for i in 0..cas.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 501 | for in &mut cas { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:674:14 [INFO] [stderr] | [INFO] [stderr] 674 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 674 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctx`. [INFO] [stderr] --> src/term.rs:684:14 [INFO] [stderr] | [INFO] [stderr] 684 | for i in 0..ctx.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 684 | for in &mut ctx { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/term.rs:699:22 [INFO] [stderr] | [INFO] [stderr] 699 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 699 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/term.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | pub fn do_infer<'a>(term : &Term, vars : &mut Vars, defs : &Defs, ctx : &mut Context, checked : bool) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/term.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 803 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:809:33 [INFO] [stderr] | [INFO] [stderr] 809 | shift(&mut bod_typ, idt_ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/term.rs:803:22 [INFO] [stderr] | [INFO] [stderr] 803 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 803 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/term.rs:809:33 [INFO] [stderr] | [INFO] [stderr] 809 | shift(&mut bod_typ, idt_ctr.len() as i32 * -1, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/extra.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 78 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/syntax.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("Unexpected end of file.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Unexpected end of file.".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if name.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `idt_ctr` [INFO] [stderr] --> src/extra.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 78 | for (i, ) in idt_ctr.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `strings` [INFO] [stderr] --> src/syntax.rs:116:14 [INFO] [stderr] | [INFO] [stderr] 116 | for i in 0..strings.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 116 | for (i, ) in strings.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/syntax.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | / pub fn parse_term [INFO] [stderr] 147 | | ( cursor : &mut Cursor [INFO] [stderr] 148 | | , code : &[u8] [INFO] [stderr] 149 | | , vars : &mut Vars [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/syntax.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("Unexpected end of file.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Unexpected end of file.".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if name.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `strings` [INFO] [stderr] --> src/syntax.rs:116:14 [INFO] [stderr] | [INFO] [stderr] 116 | for i in 0..strings.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 116 | for (i, ) in strings.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/syntax.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | / pub fn parse_term [INFO] [stderr] 147 | | ( cursor : &mut Cursor [INFO] [stderr] 148 | | , code : &[u8] [INFO] [stderr] 149 | | , vars : &mut Vars [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:237:18 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 237 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:390:12 [INFO] [stderr] | [INFO] [stderr] 390 | if nam.len() > 0 && nam[0] >= b'0' && nam[0] <= b'9' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/syntax.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | / match weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] 454 | | for i in 0..idt_ctr.len() { [INFO] [stderr] 455 | | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] ... | [INFO] [stderr] 458 | | _ => {} [INFO] [stderr] 459 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 452 | if let Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} = weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | for i in 0..idt_ctr.len() { [INFO] [stderr] 454 | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] 455 | } [INFO] [stderr] 456 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `idt_ctr`. [INFO] [stderr] --> src/syntax.rs:454:26 [INFO] [stderr] | [INFO] [stderr] 454 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 454 | for in &idt_ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:460:18 [INFO] [stderr] | [INFO] [stderr] 460 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 460 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `args`. [INFO] [stderr] --> src/syntax.rs:493:22 [INFO] [stderr] | [INFO] [stderr] 493 | for i in 0..args.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 493 | for in &args { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/syntax.rs:506:1 [INFO] [stderr] | [INFO] [stderr] 506 | / pub fn term_from_ascii_slice<'a>(code : &'a [u8]) -> Result<(Term, Defs), String> { [INFO] [stderr] 507 | | let mut cursor = Cursor{index: 0, line: 0, column: 0}; [INFO] [stderr] 508 | | let mut vars = Vec::new(); [INFO] [stderr] 509 | | let mut defs = HashMap::new(); [INFO] [stderr] 510 | | let term = parse_term(&mut cursor, code, &mut vars, &mut defs)?; [INFO] [stderr] 511 | | Ok((term, defs)) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:237:18 [INFO] [stderr] | [INFO] [stderr] 237 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 237 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/syntax.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | / match term { [INFO] [stderr] 533 | | &App{ref fun, ref arg} => { [INFO] [stderr] 534 | | build(code, &fun, vars, short); [INFO] [stderr] 535 | | code.extend_from_slice(b"("); [INFO] [stderr] ... | [INFO] [stderr] 682 | | } [INFO] [stderr] 683 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 532 | match *term { [INFO] [stderr] 533 | App{ref fun, ref arg} => { [INFO] [stderr] 534 | build(code, &fun, vars, short); [INFO] [stderr] 535 | code.extend_from_slice(b"("); [INFO] [stderr] 536 | build(code, &arg, vars, short); [INFO] [stderr] 537 | code.extend_from_slice(b")"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:581:30 [INFO] [stderr] | [INFO] [stderr] 581 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 581 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:599:20 [INFO] [stderr] | [INFO] [stderr] 599 | if arg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:613:26 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 613 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:390:12 [INFO] [stderr] | [INFO] [stderr] 390 | if nam.len() > 0 && nam[0] >= b'0' && nam[0] <= b'9' { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!nam.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/syntax.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | / match weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | | Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} => { [INFO] [stderr] 454 | | for i in 0..idt_ctr.len() { [INFO] [stderr] 455 | | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] ... | [INFO] [stderr] 458 | | _ => {} [INFO] [stderr] 459 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 452 | if let Idt{nam: _, arg: _, par: _, typ: _, ctr: idt_ctr} = weak_reduced(&idt, defs, true) { [INFO] [stderr] 453 | for i in 0..idt_ctr.len() { [INFO] [stderr] 454 | ctr.push(idt_ctr[i].0.clone()); [INFO] [stderr] 455 | } [INFO] [stderr] 456 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `idt_ctr`. [INFO] [stderr] --> src/syntax.rs:454:26 [INFO] [stderr] | [INFO] [stderr] 454 | for i in 0..idt_ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 454 | for in &idt_ctr { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:460:18 [INFO] [stderr] | [INFO] [stderr] 460 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 460 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `args`. [INFO] [stderr] --> src/syntax.rs:493:22 [INFO] [stderr] | [INFO] [stderr] 493 | for i in 0..args.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 493 | for in &args { [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/syntax.rs:506:1 [INFO] [stderr] | [INFO] [stderr] 506 | / pub fn term_from_ascii_slice<'a>(code : &'a [u8]) -> Result<(Term, Defs), String> { [INFO] [stderr] 507 | | let mut cursor = Cursor{index: 0, line: 0, column: 0}; [INFO] [stderr] 508 | | let mut vars = Vec::new(); [INFO] [stderr] 509 | | let mut defs = HashMap::new(); [INFO] [stderr] 510 | | let term = parse_term(&mut cursor, code, &mut vars, &mut defs)?; [INFO] [stderr] 511 | | Ok((term, defs)) [INFO] [stderr] 512 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/syntax.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | / match term { [INFO] [stderr] 533 | | &App{ref fun, ref arg} => { [INFO] [stderr] 534 | | build(code, &fun, vars, short); [INFO] [stderr] 535 | | code.extend_from_slice(b"("); [INFO] [stderr] ... | [INFO] [stderr] 682 | | } [INFO] [stderr] 683 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 532 | match *term { [INFO] [stderr] 533 | App{ref fun, ref arg} => { [INFO] [stderr] 534 | build(code, &fun, vars, short); [INFO] [stderr] 535 | code.extend_from_slice(b"("); [INFO] [stderr] 536 | build(code, &arg, vars, short); [INFO] [stderr] 537 | code.extend_from_slice(b")"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `par`. [INFO] [stderr] --> src/syntax.rs:581:30 [INFO] [stderr] | [INFO] [stderr] 581 | for i in 0..par.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 581 | for in &par { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/syntax.rs:599:20 [INFO] [stderr] | [INFO] [stderr] 599 | if arg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ctr`. [INFO] [stderr] --> src/syntax.rs:613:26 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..ctr.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 613 | for in &ctr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | fn get_term(name : &Vec, defs : &Defs) -> Term { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | if imports_code.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!imports_code.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / match matches.value_of("TYPE") { [INFO] [stderr] 124 | | Some(term_name) => { [INFO] [stderr] 125 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 126 | | [INFO] [stderr] ... | [INFO] [stderr] 139 | | None => {} [INFO] [stderr] 140 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 123 | if let Some(term_name) = matches.value_of("TYPE") { [INFO] [stderr] 124 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 125 | [INFO] [stderr] 126 | // Type-checks all dependencies [INFO] [stderr] 127 | for (nam, def) in &defs { [INFO] [stderr] 128 | get_result(nam.to_vec(), syntax::infer_with_string_error(&def, &defs, false, true)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / match matches.value_of("EVAL") { [INFO] [stderr] 144 | | Some(term_name) => { [INFO] [stderr] 145 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 146 | | [INFO] [stderr] ... | [INFO] [stderr] 155 | | None => {} [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 143 | if let Some(term_name) = matches.value_of("EVAL") { [INFO] [stderr] 144 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 145 | [INFO] [stderr] 146 | // Loads the term [INFO] [stderr] 147 | let term = get_term(&term_name, &defs); [INFO] [stderr] 148 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match matches.value_of("FASTEVAL") { [INFO] [stderr] 160 | | Some(term_name) => { [INFO] [stderr] 161 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 162 | | [INFO] [stderr] ... | [INFO] [stderr] 176 | | None => {} [INFO] [stderr] 177 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 159 | if let Some(term_name) = matches.value_of("FASTEVAL") { [INFO] [stderr] 160 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 161 | [INFO] [stderr] 162 | // Loads the term [INFO] [stderr] 163 | let term = get_term(&term_name, &defs); [INFO] [stderr] 164 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | / match matches.value_of("SIC") { [INFO] [stderr] 180 | | Some(term_name) => { [INFO] [stderr] 181 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 182 | | [INFO] [stderr] ... | [INFO] [stderr] 196 | | None => {} [INFO] [stderr] 197 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 179 | if let Some(term_name) = matches.value_of("SIC") { [INFO] [stderr] 180 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 181 | [INFO] [stderr] 182 | // Loads the term [INFO] [stderr] 183 | let term = get_term(&term_name, &defs); [INFO] [stderr] 184 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | / match matches.value_of("PRINT") { [INFO] [stderr] 200 | | Some(term_name) => { [INFO] [stderr] 201 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 202 | | [INFO] [stderr] ... | [INFO] [stderr] 208 | | None => {} [INFO] [stderr] 209 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 199 | if let Some(term_name) = matches.value_of("PRINT") { [INFO] [stderr] 200 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 201 | [INFO] [stderr] 202 | // Loads the term [INFO] [stderr] 203 | let term = get_term(&term_name, &defs); [INFO] [stderr] 204 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / match matches.value_of("BOTH") { [INFO] [stderr] 213 | | Some(term_name) => { [INFO] [stderr] 214 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 215 | | [INFO] [stderr] ... | [INFO] [stderr] 244 | | None => {} [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 212 | if let Some(term_name) = matches.value_of("BOTH") { [INFO] [stderr] 213 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 214 | [INFO] [stderr] 215 | // Type-checks all dependencies [INFO] [stderr] 216 | for (nam, def) in &defs { [INFO] [stderr] 217 | get_result(nam.to_vec(), syntax::infer_with_string_error(&def, &defs, false, true)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:26:20 [INFO] [stderr] | [INFO] [stderr] 26 | fn get_term(name : &Vec, defs : &Defs) -> Term { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | if imports_code.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!imports_code.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / match matches.value_of("TYPE") { [INFO] [stderr] 124 | | Some(term_name) => { [INFO] [stderr] 125 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 126 | | [INFO] [stderr] ... | [INFO] [stderr] 139 | | None => {} [INFO] [stderr] 140 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 123 | if let Some(term_name) = matches.value_of("TYPE") { [INFO] [stderr] 124 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 125 | [INFO] [stderr] 126 | // Type-checks all dependencies [INFO] [stderr] 127 | for (nam, def) in &defs { [INFO] [stderr] 128 | get_result(nam.to_vec(), syntax::infer_with_string_error(&def, &defs, false, true)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / match matches.value_of("EVAL") { [INFO] [stderr] 144 | | Some(term_name) => { [INFO] [stderr] 145 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 146 | | [INFO] [stderr] ... | [INFO] [stderr] 155 | | None => {} [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 143 | if let Some(term_name) = matches.value_of("EVAL") { [INFO] [stderr] 144 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 145 | [INFO] [stderr] 146 | // Loads the term [INFO] [stderr] 147 | let term = get_term(&term_name, &defs); [INFO] [stderr] 148 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / match matches.value_of("FASTEVAL") { [INFO] [stderr] 160 | | Some(term_name) => { [INFO] [stderr] 161 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 162 | | [INFO] [stderr] ... | [INFO] [stderr] 176 | | None => {} [INFO] [stderr] 177 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 159 | if let Some(term_name) = matches.value_of("FASTEVAL") { [INFO] [stderr] 160 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 161 | [INFO] [stderr] 162 | // Loads the term [INFO] [stderr] 163 | let term = get_term(&term_name, &defs); [INFO] [stderr] 164 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | / match matches.value_of("SIC") { [INFO] [stderr] 180 | | Some(term_name) => { [INFO] [stderr] 181 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 182 | | [INFO] [stderr] ... | [INFO] [stderr] 196 | | None => {} [INFO] [stderr] 197 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 179 | if let Some(term_name) = matches.value_of("SIC") { [INFO] [stderr] 180 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 181 | [INFO] [stderr] 182 | // Loads the term [INFO] [stderr] 183 | let term = get_term(&term_name, &defs); [INFO] [stderr] 184 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | / match matches.value_of("PRINT") { [INFO] [stderr] 200 | | Some(term_name) => { [INFO] [stderr] 201 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 202 | | [INFO] [stderr] ... | [INFO] [stderr] 208 | | None => {} [INFO] [stderr] 209 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 199 | if let Some(term_name) = matches.value_of("PRINT") { [INFO] [stderr] 200 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 201 | [INFO] [stderr] 202 | // Loads the term [INFO] [stderr] 203 | let term = get_term(&term_name, &defs); [INFO] [stderr] 204 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / match matches.value_of("BOTH") { [INFO] [stderr] 213 | | Some(term_name) => { [INFO] [stderr] 214 | | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 215 | | [INFO] [stderr] ... | [INFO] [stderr] 244 | | None => {} [INFO] [stderr] 245 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 212 | if let Some(term_name) = matches.value_of("BOTH") { [INFO] [stderr] 213 | let term_name = term_name.to_string().into_bytes(); [INFO] [stderr] 214 | [INFO] [stderr] 215 | // Type-checks all dependencies [INFO] [stderr] 216 | for (nam, def) in &defs { [INFO] [stderr] 217 | get_result(nam.to_vec(), syntax::infer_with_string_error(&def, &defs, false, true)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.11s [INFO] running `"docker" "inspect" "f5ebd8ed69d9daf3bee8259162cede217488b157861a7993cdf5a0fbad0e909a"` [INFO] running `"docker" "rm" "-f" "f5ebd8ed69d9daf3bee8259162cede217488b157861a7993cdf5a0fbad0e909a"` [INFO] [stdout] f5ebd8ed69d9daf3bee8259162cede217488b157861a7993cdf5a0fbad0e909a