[INFO] cloning repository https://github.com/crestonbunch/reticulated
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/crestonbunch/reticulated" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrestonbunch%2Freticulated", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrestonbunch%2Freticulated'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e36b5c3a16526a9a57a3b8083aefae59d2053e88
[INFO] checking crestonbunch/reticulated against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrestonbunch%2Freticulated" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/crestonbunch/reticulated
[INFO] finished tweaking git repo https://github.com/crestonbunch/reticulated
[INFO] tweaked toml for git repo https://github.com/crestonbunch/reticulated written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/crestonbunch/reticulated on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/crestonbunch/reticulated already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_xoshiro v0.1.0
[INFO] [stderr]   Downloaded cast v0.2.2
[INFO] [stderr]   Downloaded criterion-plot v0.3.1
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded proc-macro2 v0.4.28
[INFO] [stderr]   Downloaded syn v0.15.33
[INFO] [stderr]   Downloaded criterion v0.2.11
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded tinytemplate v1.0.1
[INFO] [stderr]   Downloaded libc v0.2.53
[INFO] [stderr]   Downloaded csv v1.0.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30212915bcdc6b77fb2b938eb445627f9a1258124dd70dc4a6871472fecf261f
[INFO] running `Command { std: "docker" "start" "-a" "30212915bcdc6b77fb2b938eb445627f9a1258124dd70dc4a6871472fecf261f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30212915bcdc6b77fb2b938eb445627f9a1258124dd70dc4a6871472fecf261f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30212915bcdc6b77fb2b938eb445627f9a1258124dd70dc4a6871472fecf261f", kill_on_drop: false }`
[INFO] [stdout] 30212915bcdc6b77fb2b938eb445627f9a1258124dd70dc4a6871472fecf261f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f92f6bdcdd33876e8a55099a3c482336a864b53c34cbb12bab02f6a36832c2e1
[INFO] running `Command { std: "docker" "start" "-a" "f92f6bdcdd33876e8a55099a3c482336a864b53c34cbb12bab02f6a36832c2e1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]     Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]    Compiling libc v0.2.53
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:16
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 |             '0'...'9' => self.handle_number(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:21
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:39
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:57
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:548:16
[INFO] [stdout]     |
[INFO] [stdout] 548 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 |             (Some('0'...'9'), Some('_')) => true,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:567:22
[INFO] [stdout]     |
[INFO] [stdout] 567 |             (Some('0'...'9'), _) => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:16
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:28
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:40
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:597:16
[INFO] [stdout]     |
[INFO] [stdout] 597 |             '0'...'7' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |             ('0'...'9', _) => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:657:21
[INFO] [stdout]     |
[INFO] [stdout] 657 |             Some('0'...'9') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lexer/src/error.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:16
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 |             '0'...'9' => self.handle_number(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:21
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:39
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:57
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:548:16
[INFO] [stdout]     |
[INFO] [stdout] 548 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 |             (Some('0'...'9'), Some('_')) => true,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:567:22
[INFO] [stdout]     |
[INFO] [stdout] 567 |             (Some('0'...'9'), _) => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:16
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:28
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:40
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:597:16
[INFO] [stdout]     |
[INFO] [stdout] 597 |             '0'...'7' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |             ('0'...'9', _) => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:657:21
[INFO] [stdout]     |
[INFO] [stdout] 657 |             Some('0'...'9') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lexer/src/error.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]     Checking syntax v0.1.0 (/opt/rustwide/workdir/parser/trees/syntax)
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CompOp`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{CompOp, Expr, SNode, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/arguments.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/arguments.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/expr.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyntaxNode`
[INFO] [stdout]  --> parser/trees/syntax/src/stmt.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{SNode, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer::Span`
[INFO] [stdout]  --> parser/trees/syntax/src/stmt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lexer::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyntaxNode`
[INFO] [stdout]  --> parser/trees/syntax/src/stmts.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{SNode, Stmt, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer::Span`
[INFO] [stdout]  --> parser/trees/syntax/src/stmts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lexer::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking unicode-xid v0.1.0
[INFO] [stderr]     Checking cast v0.2.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_xoshiro v0.1.0
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking csv-core v0.1.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CompOp`
[INFO] [stdout]  --> parser/trees/syntax/src/arg.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{CompOp, Expr, SNode, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/arguments.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/arguments.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/trees/syntax/src/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/trees/syntax/src/expr.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyntaxNode`
[INFO] [stdout]  --> parser/trees/syntax/src/stmt.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{SNode, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer::Span`
[INFO] [stdout]  --> parser/trees/syntax/src/stmt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lexer::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyntaxNode`
[INFO] [stdout]  --> parser/trees/syntax/src/stmts.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{SNode, Stmt, SyntaxConstruct, SyntaxNode};
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer::Span`
[INFO] [stdout]  --> parser/trees/syntax/src/stmts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use lexer::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking compiler v0.1.0 (/opt/rustwide/workdir/compiler)
[INFO] [stderr]     Checking criterion-plot v0.3.1
[INFO] [stderr]    Compiling metagrammar v0.1.0 (/opt/rustwide/workdir/parser/metagrammar)
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking grammar v0.1.0 (/opt/rustwide/workdir/parser/grammar)
[INFO] [stderr]     Checking parse v0.1.0 (/opt/rustwide/workdir/parser/trees/parse)
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |             tok!("...") => Ok({ self.inner.child = AtomChild::Ellipsis }),
[INFO] [stdout]    |                               ^^                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 47 -             tok!("...") => Ok({ self.inner.child = AtomChild::Ellipsis }),
[INFO] [stdout] 47 +             tok!("...") => Ok(self.inner.child = AtomChild::Ellipsis ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             tok!("None") => Ok({ self.inner.child = AtomChild::None }),
[INFO] [stdout]    |                                ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 48 -             tok!("None") => Ok({ self.inner.child = AtomChild::None }),
[INFO] [stdout] 48 +             tok!("None") => Ok(self.inner.child = AtomChild::None ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |             tok!("True") => Ok({ self.inner.child = AtomChild::True }),
[INFO] [stdout]    |                                ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 49 -             tok!("True") => Ok({ self.inner.child = AtomChild::True }),
[INFO] [stdout] 49 +             tok!("True") => Ok(self.inner.child = AtomChild::True ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |             tok!("False") => Ok({ self.inner.child = AtomChild::False }),
[INFO] [stdout]    |                                 ^^                                   ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 50 -             tok!("False") => Ok({ self.inner.child = AtomChild::False }),
[INFO] [stdout] 50 +             tok!("False") => Ok(self.inner.child = AtomChild::False ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok({ self.inner.child = AtomChild::Name(String::clone(v)) })
[INFO] [stdout]    |                    ^^                                                    ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 52 -                 Ok({ self.inner.child = AtomChild::Name(String::clone(v)) })
[INFO] [stdout] 52 +                 Ok(self.inner.child = AtomChild::Name(String::clone(v)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout]    |                        ^^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 58 -                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout] 58 +                     Ok(self.inner.child = AtomChild::Strings(strings) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout]    |                        ^^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 61 -                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout] 61 +                     Ok(self.inner.child = AtomChild::Strings(strings) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/lambda_def.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/lambda_def.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]   --> parser/trees/parse/src/not_test.rs:6:21
[INFO] [stdout]    |
[INFO] [stdout]  6 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]    |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> parser/trees/parse/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | mod not_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]   --> parser/trees/parse/src/not_test.rs:7:13
[INFO] [stdout]    |
[INFO] [stdout]  7 | use lexer::{tok, Span};
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> parser/trees/parse/src/lib.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | mod not_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:6:21
[INFO] [stdout]    |
[INFO] [stdout]  6 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]    |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> parser/trees/parse/src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:7:13
[INFO] [stdout]    |
[INFO] [stdout]  7 | use lexer::{tok, Span};
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> parser/trees/parse/src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod test;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/tfpdef.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 Ok({ self.inner.annotation = Some(Rc::clone(c)) })
[INFO] [stdout]    |                    ^^                                          ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 28 -                 Ok({ self.inner.annotation = Some(Rc::clone(c)) })
[INFO] [stdout] 28 +                 Ok(self.inner.annotation = Some(Rc::clone(c)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/tfpdef.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout]    |                                   ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 36 -             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout] 36 +             Token::Name(..) => Ok(self.inner.child = Some(Token::clone(t)) ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expr`
[INFO] [stdout]  --> parser/trees/parse/src/typedargslist.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syntax::{Arguments, Expr, SNode};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/typedargslist.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 84 -                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout] 84 +                 Ok(self.inner.var_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/typedargslist.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout] 92 +                 Ok(self.inner.kw_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/typedargslist.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 108 |             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout]     |                             ^^                                      ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 108 -             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout] 108 +             tok!("*") => Ok(self.inner.state = State::ParseVarArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/typedargslist.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout]     |                              ^^                                     ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 109 -             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout] 109 +             tok!("**") => Ok(self.inner.state = State::ParseKwArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expr`
[INFO] [stdout]  --> parser/trees/parse/src/varargslist.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syntax::{Arguments, Expr, SNode};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/varargslist.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 84 -                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout] 84 +                 Ok(self.inner.var_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/varargslist.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout] 92 +                 Ok(self.inner.kw_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/varargslist.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 108 |             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout]     |                             ^^                                      ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 108 -             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout] 108 +             tok!("*") => Ok(self.inner.state = State::ParseVarArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/varargslist.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout]     |                              ^^                                     ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 109 -             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout] 109 +             tok!("**") => Ok(self.inner.state = State::ParseKwArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/vfpdef.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout]    |                                   ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 26 -             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout] 26 +             Token::Name(..) => Ok(self.inner.child = Some(Token::clone(t)) ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/yield_arg.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/yield_arg.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/yield_expr.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/yield_expr.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |             tok!("...") => Ok({ self.inner.child = AtomChild::Ellipsis }),
[INFO] [stdout]    |                               ^^                                      ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 47 -             tok!("...") => Ok({ self.inner.child = AtomChild::Ellipsis }),
[INFO] [stdout] 47 +             tok!("...") => Ok(self.inner.child = AtomChild::Ellipsis ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |             tok!("None") => Ok({ self.inner.child = AtomChild::None }),
[INFO] [stdout]    |                                ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 48 -             tok!("None") => Ok({ self.inner.child = AtomChild::None }),
[INFO] [stdout] 48 +             tok!("None") => Ok(self.inner.child = AtomChild::None ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |             tok!("True") => Ok({ self.inner.child = AtomChild::True }),
[INFO] [stdout]    |                                ^^                                  ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 49 -             tok!("True") => Ok({ self.inner.child = AtomChild::True }),
[INFO] [stdout] 49 +             tok!("True") => Ok(self.inner.child = AtomChild::True ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |             tok!("False") => Ok({ self.inner.child = AtomChild::False }),
[INFO] [stdout]    |                                 ^^                                   ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 50 -             tok!("False") => Ok({ self.inner.child = AtomChild::False }),
[INFO] [stdout] 50 +             tok!("False") => Ok(self.inner.child = AtomChild::False ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok({ self.inner.child = AtomChild::Name(String::clone(v)) })
[INFO] [stdout]    |                    ^^                                                    ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 52 -                 Ok({ self.inner.child = AtomChild::Name(String::clone(v)) })
[INFO] [stdout] 52 +                 Ok(self.inner.child = AtomChild::Name(String::clone(v)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout]    |                        ^^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 58 -                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout] 58 +                     Ok(self.inner.child = AtomChild::Strings(strings) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout]    |                        ^^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 61 -                     Ok({ self.inner.child = AtomChild::Strings(strings) })
[INFO] [stdout] 61 +                     Ok(self.inner.child = AtomChild::Strings(strings) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/lambda_def.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/lambda_def.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/not_test.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/not_test.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/test.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/test.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/tfpdef.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 Ok({ self.inner.annotation = Some(Rc::clone(c)) })
[INFO] [stdout]    |                    ^^                                          ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 28 -                 Ok({ self.inner.annotation = Some(Rc::clone(c)) })
[INFO] [stdout] 28 +                 Ok(self.inner.annotation = Some(Rc::clone(c)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/tfpdef.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout]    |                                   ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 36 -             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout] 36 +             Token::Name(..) => Ok(self.inner.child = Some(Token::clone(t)) ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expr`
[INFO] [stdout]  --> parser/trees/parse/src/typedargslist.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syntax::{Arguments, Expr, SNode};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/typedargslist.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 84 -                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout] 84 +                 Ok(self.inner.var_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/typedargslist.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout] 92 +                 Ok(self.inner.kw_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/typedargslist.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 108 |             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout]     |                             ^^                                      ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 108 -             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout] 108 +             tok!("*") => Ok(self.inner.state = State::ParseVarArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/typedargslist.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout]     |                              ^^                                     ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 109 -             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout] 109 +             tok!("**") => Ok(self.inner.state = State::ParseKwArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expr`
[INFO] [stdout]  --> parser/trees/parse/src/varargslist.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use syntax::{Arguments, Expr, SNode};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/varargslist.rs:84:20
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 84 -                 Ok({ self.inner.var_args = Some(Rc::clone(n)) })
[INFO] [stdout] 84 +                 Ok(self.inner.var_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/varargslist.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout]    |                    ^^                                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 92 -                 Ok({ self.inner.kw_args = Some(Rc::clone(n)) })
[INFO] [stdout] 92 +                 Ok(self.inner.kw_args = Some(Rc::clone(n)) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/varargslist.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 108 |             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout]     |                             ^^                                      ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 108 -             tok!("*") => Ok({ self.inner.state = State::ParseVarArgs }),
[INFO] [stdout] 108 +             tok!("*") => Ok(self.inner.state = State::ParseVarArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]    --> parser/trees/parse/src/varargslist.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout]     |                              ^^                                     ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 109 -             tok!("**") => Ok({ self.inner.state = State::ParseKwArgs }),
[INFO] [stdout] 109 +             tok!("**") => Ok(self.inner.state = State::ParseKwArgs ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around function argument
[INFO] [stdout]   --> parser/trees/parse/src/vfpdef.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout]    |                                   ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 26 -             Token::Name(..) => Ok({ self.inner.child = Some(Token::clone(t)) }),
[INFO] [stdout] 26 +             Token::Name(..) => Ok(self.inner.child = Some(Token::clone(t)) ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/yield_arg.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/yield_arg.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NumberBase` and `StringFlag`
[INFO] [stdout]  --> parser/trees/parse/src/yield_expr.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lexer::tokens::{NumberBase, StringFlag, Token};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tok`
[INFO] [stdout]  --> parser/trees/parse/src/yield_expr.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{tok, Span};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde_json v1.0.39
[INFO] [stderr]     Checking csv v1.0.7
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/compound_stmt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/compound_stmt.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/eval_input.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/eval_input.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/lambda_def.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/lambda_def.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/simple_stmt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/simple_stmt.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/term.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/term.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/yield_arg.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/yield_arg.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/yield_expr.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/yield_expr.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Name(String),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Name(String),
[INFO] [stdout] 10 +     Name(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Number(String, NumberBase),
[INFO] [stdout]    |     ------ ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Number(String, NumberBase),
[INFO] [stdout] 11 +     Number((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `YieldExpr`, `TestListComp`, and `DictOrSetMaker` are never constructed
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum AtomChild {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     YieldExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     TestListComp,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     DictOrSetMaker,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `children` is never read
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Expr {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 10 |     children: Vec<PNode<Expr>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/single_input.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     SimpleStmt(PNode<SimpleStmt>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     SimpleStmt(PNode<SimpleStmt>),
[INFO] [stdout] 11 +     SimpleStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/single_input.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CompoundStmt(PNode<CompoundStmt>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     CompoundStmt(PNode<CompoundStmt>),
[INFO] [stdout] 12 +     CompoundStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Simple(PNode<SimpleStmt>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Simple(PNode<SimpleStmt>),
[INFO] [stdout] 11 +     Simple(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Compound(PNode<CompoundStmt>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     Compound(PNode<CompoundStmt>),
[INFO] [stdout] 12 +     Compound(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TestChild` is never used
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum TestChild {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/compound_stmt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/compound_stmt.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/eval_input.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/eval_input.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking trees v0.1.0 (/opt/rustwide/workdir/parser/trees)
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/lambda_def.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/lambda_def.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/simple_stmt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/simple_stmt.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/term.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/term.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/yield_arg.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/yield_arg.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> parser/trees/parse/src/yield_expr.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn add_node(&mut self, n: &NodeProxy) -> Result<(), &'static str> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> parser/trees/parse/src/yield_expr.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn add_token(&mut self, t: &Token) -> Result<(), &'static str> {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Name(String),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 10 -     Name(String),
[INFO] [stdout] 10 +     Name(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Number(String, NumberBase),
[INFO] [stdout]    |     ------ ^^^^^^  ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Number(String, NumberBase),
[INFO] [stdout] 11 +     Number((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `YieldExpr`, `TestListComp`, and `DictOrSetMaker` are never constructed
[INFO] [stdout]   --> parser/trees/parse/src/atom.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum AtomChild {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     YieldExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     TestListComp,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     DictOrSetMaker,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `children` is never read
[INFO] [stdout]   --> parser/trees/parse/src/expr.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Expr {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 10 |     children: Vec<PNode<Expr>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/single_input.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     SimpleStmt(PNode<SimpleStmt>),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     SimpleStmt(PNode<SimpleStmt>),
[INFO] [stdout] 11 +     SimpleStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/single_input.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 |     CompoundStmt(PNode<CompoundStmt>),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     CompoundStmt(PNode<CompoundStmt>),
[INFO] [stdout] 12 +     CompoundStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Simple(PNode<SimpleStmt>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     Simple(PNode<SimpleStmt>),
[INFO] [stdout] 11 +     Simple(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> parser/trees/parse/src/stmt.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Compound(PNode<CompoundStmt>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     Compound(PNode<CompoundStmt>),
[INFO] [stdout] 12 +     Compound(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TestChild` is never used
[INFO] [stdout]   --> parser/trees/parse/src/test.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum TestChild {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> parser/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `span` are never read
[INFO] [stdout]   --> parser/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Error {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 17 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     span: Span,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> parser/src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 state.0.add_child(child);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = state.0.add_child(child);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> parser/src/lib.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 state.0.add_child(child);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let _ = state.0.add_child(child);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> parser/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> parser/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> parser/src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `span` are never read
[INFO] [stdout]   --> parser/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Error {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 17 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     span: Span,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> parser/src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 state.0.add_child(child);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = state.0.add_child(child);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> parser/src/lib.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 state.0.add_child(child);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let _ = state.0.add_child(child);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking reticulated v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `lexer`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lexer;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lexer;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tinytemplate v1.0.1
[INFO] [stderr]     Checking criterion v0.2.11
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:16
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |             'a'...'z' | 'A'...'Z' | '_' => self.maybe_handle_identifier(c),
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:205:16
[INFO] [stdout]     |
[INFO] [stdout] 205 |             '0'...'9' => self.handle_number(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:21
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:39
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:374:57
[INFO] [stdout]     |
[INFO] [stdout] 374 |             Some('a'...'z') | Some('A'...'Z') | Some('0'...'9') | Some('_') => {
[INFO] [stdout]     |                                                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:548:16
[INFO] [stdout]     |
[INFO] [stdout] 548 |             '0'...'9' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:566:22
[INFO] [stdout]     |
[INFO] [stdout] 566 |             (Some('0'...'9'), Some('_')) => true,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:567:22
[INFO] [stdout]     |
[INFO] [stdout] 567 |             (Some('0'...'9'), _) => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:16
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:28
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:593:40
[INFO] [stdout]     |
[INFO] [stdout] 593 |             '0'...'9' | 'a'...'f' | 'A'...'F' => true,
[INFO] [stdout]     |                                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:597:16
[INFO] [stdout]     |
[INFO] [stdout] 597 |             '0'...'7' => true,
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |             ('0'...'9', _) => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> lexer/src/lib.rs:657:21
[INFO] [stdout]     |
[INFO] [stdout] 657 |             Some('0'...'9') => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lexer/src/error.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.81s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.2.11
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "f92f6bdcdd33876e8a55099a3c482336a864b53c34cbb12bab02f6a36832c2e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f92f6bdcdd33876e8a55099a3c482336a864b53c34cbb12bab02f6a36832c2e1", kill_on_drop: false }`
[INFO] [stdout] f92f6bdcdd33876e8a55099a3c482336a864b53c34cbb12bab02f6a36832c2e1
