[INFO] cloning repository https://github.com/shimomura1004/rust_playground
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shimomura1004/rust_playground" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshimomura1004%2Frust_playground", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshimomura1004%2Frust_playground'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b960e16272527c7c77000e863057e32b37c49b22
[INFO] checking shimomura1004/rust_playground against c397dae808f70caebab1fc4e11b3edf7e59f58c7 for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshimomura1004%2Frust_playground" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shimomura1004/rust_playground
[INFO] finished tweaking git repo https://github.com/shimomura1004/rust_playground
[INFO] tweaked toml for git repo https://github.com/shimomura1004/rust_playground written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shimomura1004/rust_playground on toolchain c397dae808f70caebab1fc4e11b3edf7e59f58c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c397dae808f70caebab1fc4e11b3edf7e59f58c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shimomura1004/rust_playground 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" "+c397dae808f70caebab1fc4e11b3edf7e59f58c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `stackmachine` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af
[INFO] running `Command { std: "docker" "start" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af" "/opt/rustwide/cargo-home/bin/cargo" "+c397dae808f70caebab1fc4e11b3edf7e59f58c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af" "/opt/rustwide/cargo-home/bin/cargo" "+c397dae808f70caebab1fc4e11b3edf7e59f58c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `stackmachine` (manifest) generated 1 warning
[INFO] [stderr]     Checking stackmachine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `parser`
[INFO] [stdout]    --> src/interpreter/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | use parser;
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/parser/combinator.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | type ParserB<T> = Box<Parser<T>>;
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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] 8 | type ParserB<T> = Box<dyn Parser<T>>;
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub p1 : Box<Parser<T1>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub p1 : Box<dyn Parser<T1>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:176:18
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub p2 : Box<Parser<T2>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub p2 : Box<dyn Parser<T2>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:191:16
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub p: Box<Parser<Vec<char>>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub p: Box<dyn Parser<Vec<char>>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:225:16
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:253:16
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:267:16
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub p: Box<Parser<()>>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub p: Box<dyn Parser<()>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub left_p: Box<Parser<T1>>,
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub left_p: Box<dyn Parser<T1>>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:282:20
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub mid_p: Box<Parser<T2>>,
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub mid_p: Box<dyn Parser<T2>>,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub right_p: Box<Parser<T3>>,
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub right_p: Box<dyn Parser<T3>>,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:322:16
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub p: Box<Parser<T1>>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub p: Box<dyn Parser<T1>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:323:18
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub sep: Box<Parser<T2>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub sep: Box<dyn Parser<T2>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/parser/combinator.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | type ParserB<T> = Box<Parser<T>>;
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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] 8 | type ParserB<T> = Box<dyn Parser<T>>;
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub p1 : Box<Parser<T1>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub p1 : Box<dyn Parser<T1>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:176:18
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub p2 : Box<Parser<T2>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub p2 : Box<dyn Parser<T2>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:191:16
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub p: Box<Parser<Vec<char>>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub p: Box<dyn Parser<Vec<char>>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:225:16
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:253:16
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub p: Box<Parser<char>>,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub p: Box<dyn Parser<char>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:267:16
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub p: Box<Parser<()>>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub p: Box<dyn Parser<()>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub left_p: Box<Parser<T1>>,
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub left_p: Box<dyn Parser<T1>>,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:282:20
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub mid_p: Box<Parser<T2>>,
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub mid_p: Box<dyn Parser<T2>>,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub right_p: Box<Parser<T3>>,
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub right_p: Box<dyn Parser<T3>>,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:322:16
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub p: Box<Parser<T1>>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub p: Box<dyn Parser<T1>>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:323:18
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub sep: Box<Parser<T2>>,
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub sep: Box<dyn Parser<T2>>,
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:87:43
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<Vec<T>>> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:127:24
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:127:43
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<Vec<T>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<dyn Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:151:49
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<dyn Parser<T>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:24
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<dyn Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:45
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<dyn Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:65
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<dyn Parser<T2>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<dyn Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:53
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<dyn Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:79
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<dyn Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:87:43
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<Vec<T>>> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<()>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:127:24
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<dyn Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:127:43
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<Parser<Vec<T>>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn new(p : Box<Parser<T>>) -> Box<dyn Parser<Vec<T>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:99
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<dyn Parser<T2>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:24
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<dyn Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:47
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<dyn Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:67
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<dyn Parser<Vec<T1>>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<dyn Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:151:49
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<Parser<T>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn new(ps : Vec<Box<Parser<T>>>) -> Box<dyn Parser<T>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:24
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<dyn Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:45
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<dyn Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:179:65
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn new(p1: Box<Parser<T1>>, p2: Box<Parser<T2>>) -> Box<dyn Parser<T2>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:29
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<dyn Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:53
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<dyn Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:79
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<dyn Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:286:99
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<Parser<T2>> {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(left_p : Box<Parser<T1>>, mid_p: Box<Parser<T2>>, right_p: Box<Parser<T3>>) -> Box<dyn Parser<T2>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:24
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<dyn Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:47
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<dyn Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:326:67
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<Parser<Vec<T1>>> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub fn new(p : Box<Parser<T1>>, sep : Box<Parser<T2>>) -> Box<dyn Parser<Vec<T1>>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c : char) -> Box<Parser<char>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c : char) -> Box<dyn Parser<char>> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(str : &str) -> Box<Parser<String>> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(str : &str) -> Box<dyn Parser<String>> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn new(chars: &str) -> Box<Parser<char>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn new(chars: &str) -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Box<Parser<i32>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Box<dyn Parser<i32>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn new() -> Box<Parser<char>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn new() -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn new() -> Box<Parser<char>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn new() -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c : char) -> Box<Parser<char>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(c : char) -> Box<dyn Parser<char>> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/combinator.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(str : &str) -> Box<Parser<String>> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn new(str : &str) -> Box<dyn Parser<String>> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn new(chars: &str) -> Box<Parser<char>> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn new(chars: &str) -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn new() -> Box<Parser<()>> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn new() -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:301:25
[INFO] [stdout]     |
[INFO] [stdout] 301 |     pub fn new() -> Box<Parser<()>> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 301 |     pub fn new() -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Box<Parser<i32>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Box<dyn Parser<i32>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn new() -> Box<Parser<char>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn new() -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn new() -> Box<Parser<char>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub fn new() -> Box<dyn Parser<char>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn new() -> Box<Parser<()>> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn new() -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/combinator.rs:301:25
[INFO] [stdout]     |
[INFO] [stdout] 301 |     pub fn new() -> Box<Parser<()>> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 301 |     pub fn new() -> Box<dyn Parser<()>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/parser/mod.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/parser/mod.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn new () -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn new () -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new() -> Box<Parser<syntax::Exp4>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new() -> Box<dyn Parser<syntax::Exp4>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:218:25
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn new() -> Box<Parser<syntax::Exp2>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn new() -> Box<dyn Parser<syntax::Exp2>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:280:25
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:296:25
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:96:26
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn new () -> Box<Parser<syntax::Term>> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn new () -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn new() -> Box<Parser<syntax::Term>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn new() -> Box<dyn Parser<syntax::Term>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn new() -> Box<Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn new() -> Box<dyn Parser<syntax::Exp5>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:184:25
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new() -> Box<Parser<syntax::Exp4>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new() -> Box<dyn Parser<syntax::Exp4>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 324 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub fn new() -> Box<Parser<syntax::Exp>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub fn new() -> Box<dyn Parser<syntax::Exp>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:371:25
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:423:25
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:442:25
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:218:25
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new() -> Box<Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new() -> Box<dyn Parser<syntax::Exp3>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn new() -> Box<Parser<syntax::Exp2>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn new() -> Box<dyn Parser<syntax::Exp2>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:280:25
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:296:25
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 324 |     pub fn new() -> Box<Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 324 |     pub fn new() -> Box<dyn Parser<syntax::Exp1>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub fn new() -> Box<Parser<syntax::Exp>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub fn new() -> Box<dyn Parser<syntax::Exp>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:371:25
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn new() -> Box<Parser<syntax::Statement>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn new() -> Box<dyn Parser<syntax::Statement>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:423:25
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/mod.rs:442:25
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn new() -> Box<Parser<syntax::Block>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn new() -> Box<dyn Parser<syntax::Block>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp5, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:241:21
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp3, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:317:21
[INFO] [stdout]     |
[INFO] [stdout] 317 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp1, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/interpreter/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/interpreter/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             ExpAst::Add(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 29 |             ExpAst::Sub(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 35 |             ExpAst::Mul(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             ExpAst::Div(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 86 |             _ => {
[INFO] [stdout]    |             ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]   --> src/compiler/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ExpAst::App(t1, t2) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]   --> src/compiler/mod.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ExpAst::App(t1, t2) => {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ExpAst::Var(name) => {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         StatementAst::Assign(name, exp_ast) => (),
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exp_ast`
[INFO] [stdout]   --> src/compiler/mod.rs:63:36
[INFO] [stdout]    |
[INFO] [stdout] 63 |         StatementAst::Assign(name, exp_ast) => (),
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/compiler/mod.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn compile_block(ast : &BlockAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/compiler/mod.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn compile_block(ast : &BlockAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp5, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/vm/mod.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Operator {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  3 |     PushInt32(i32),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  4 |     Pop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  5 |
[INFO] [stdout]  6 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  7 |     Sub,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  8 |     Mul,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     Div,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     Not,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     Equal,             // read 2 value from stack, compare them  and push 1/0 if values are the same/different
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     Load(usize),       // read the n-th item in the stack and push it on top
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     Store(usize),      // write value on top of the stack to the n-th item in the stack
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     Print,             // print the value on top of the stack
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     JumpIf(isize),     // proceed the PC if top of the stack is not 0
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 21 |     JumpUnless(isize), // proced the PC if top of the stack is 0
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     Jump(isize),       // proceed the PC for the size
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     Dump,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:241:21
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp3, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Data` is never used
[INFO] [stdout]   --> src/vm/mod.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum Data {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/vm/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn process(program : &Vec<Operator>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]  --> src/compiler/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn compile(ast : &ExpAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_statement` is never used
[INFO] [stdout]   --> src/compiler/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn compile_statement(ast : &StatementAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/parser/mod.rs:317:21
[INFO] [stdout]     |
[INFO] [stdout] 317 |     fn parse(&self, input : &mut String) -> Result<syntax::Exp1, ParseError> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/interpreter/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/interpreter/mod.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             ExpAst::Add(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 29 |             ExpAst::Sub(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 35 |             ExpAst::Mul(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 41 |             ExpAst::Div(t1, t2) => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 86 |             _ => {
[INFO] [stdout]    |             ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]   --> src/compiler/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ExpAst::App(t1, t2) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]   --> src/compiler/mod.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         ExpAst::App(t1, t2) => {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ExpAst::Var(name) => {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |         StatementAst::Assign(name, exp_ast) => (),
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exp_ast`
[INFO] [stdout]   --> src/compiler/mod.rs:63:36
[INFO] [stdout]    |
[INFO] [stdout] 63 |         StatementAst::Assign(name, exp_ast) => (),
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/compiler/mod.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn compile_block(ast : &BlockAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/compiler/mod.rs:67:39
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn compile_block(ast : &BlockAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sub`, `Mul`, `Div`, `JumpUnless`, and `Jump` are never constructed
[INFO] [stdout]   --> src/vm/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Operator {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  7 |     Sub,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  8 |     Mul,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     Div,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     JumpUnless(isize), // proced the PC if top of the stack is 0
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     Jump(isize),       // proceed the PC for the size
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]  --> src/compiler/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn compile(ast : &ExpAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_statement` is never used
[INFO] [stdout]   --> src/compiler/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn compile_statement(ast : &StatementAst, code : &mut Vec<vm::Operator>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser/combinator.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 404 |     whitespaces.parse(&mut input);
[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] 404 |     let _ = whitespaces.parse(&mut input);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser/combinator.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     whitespaces.parse(&mut input);
[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] 411 |     let _ = whitespaces.parse(&mut input);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af", kill_on_drop: false }`
[INFO] [stdout] 7635cdc620cf490c5420ca0f9de4c5cec85cdbb828eaa533adf22c461842d5af
