[INFO] fetching crate topdown-rs 0.3.3...
[INFO] testing topdown-rs-0.3.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate topdown-rs 0.3.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate topdown-rs 0.3.3
[INFO] finished tweaking crates.io crate topdown-rs 0.3.3
[INFO] tweaked toml for crates.io crate topdown-rs 0.3.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate topdown-rs 0.3.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to highest compatible versions
[INFO] [stderr]       Adding regex v0.1.80 (available: v1.13.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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: `topdown-rs` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f
[INFO] running `Command { std: "docker" "start" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", 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" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `topdown-rs` (manifest) generated 1 warning
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling topdown-rs v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parsers: &'a [&'a(Parser<T>+'a)]
[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] 4 |     parsers: &'a [&'a(dyn Parser<T>+'a)]
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T> + 'a)
[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] 4 |     parser: &'a (dyn Parser<T> + 'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cond: &'a (Parser<S> + 'a),
[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] 4 |     cond: &'a (dyn Parser<S> + 'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<T> + 'a),
[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] 5 |     parser: &'a (dyn Parser<T> + 'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     delim: &'a (Parser<String>+'a),
[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] 5 |     delim: &'a (dyn Parser<String>+'a),
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<S>+'a),
[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] 5 |     parser: &'a (dyn Parser<S>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stop: &'a (Parser<T>+'a)
[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] 6 |     stop: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     hooks: Vec<&'a (ParserHook+'a)>,
[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] 47 |     hooks: Vec<&'a (dyn ParserHook+'a)>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn choice<'a, T>(p: &'a [&'a (Parser<T> + 'a)]) -> Choice<'a, 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] 7 | pub fn choice<'a, T>(p: &'a [&'a (dyn Parser<T> + 'a)]) -> Choice<'a, T> {
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn until<'a, T>(t:&'a (Parser<T>+'a)) -> Until<'a, 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] 7 | pub fn until<'a, T>(t:&'a (dyn Parser<T>+'a)) -> Until<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many<'a, T>(p: &'a (Parser<T> + 'a)) -> Many<'a, 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] 7 | pub fn many<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many1<'a, T>(p: &'a (Parser<T> + 'a)) -> Many1<'a, 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] 7 | pub fn many1<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many1<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn try<'a, T>(p: &'a(Parser<T>+'a)) -> Try<'a, 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] 7 | pub fn try<'a, T>(p: &'a(dyn Parser<T>+'a)) -> Try<'a, T> {
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (dyn Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (dyn Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn opt<'a, T:Clone>(p:&'a (Parser<T>+'a), d: T) -> Opt<'a, 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] 8 | pub fn opt<'a, T:Clone>(p:&'a (dyn Parser<T>+'a), d: T) -> Opt<'a, T> {
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (dyn Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (dyn Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (dyn Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (dyn Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:178:43
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn add_hook(&mut self, hook: &'a (ParserHook+'a)) {
[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] 178 |     pub fn add_hook(&mut self, hook: &'a (dyn ParserHook+'a)) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:195:37
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn accept<T>(&mut self, p: &Parser<T>) -> ParserResult<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] 195 |     pub fn accept<T>(&mut self, p: &dyn Parser<T>) -> ParserResult<T> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/keyword.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn keyword<'a>(k: &'a str) -> Keyword {
[INFO] [stdout]   |                        --         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn keyword<'a>(k: &'a str) -> Keyword<'a> {
[INFO] [stdout]   |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 7.83s
[INFO] running `Command { std: "docker" "inspect" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `topdown-rs` (manifest) generated 1 warning
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parsers: &'a [&'a(Parser<T>+'a)]
[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] 4 |     parsers: &'a [&'a(dyn Parser<T>+'a)]
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T> + 'a)
[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] 4 |     parser: &'a (dyn Parser<T> + 'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cond: &'a (Parser<S> + 'a),
[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] 4 |     cond: &'a (dyn Parser<S> + 'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<T> + 'a),
[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] 5 |     parser: &'a (dyn Parser<T> + 'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     delim: &'a (Parser<String>+'a),
[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] 5 |     delim: &'a (dyn Parser<String>+'a),
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<S>+'a),
[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] 5 |     parser: &'a (dyn Parser<S>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stop: &'a (Parser<T>+'a)
[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] 6 |     stop: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     hooks: Vec<&'a (ParserHook+'a)>,
[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] 47 |     hooks: Vec<&'a (dyn ParserHook+'a)>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn choice<'a, T>(p: &'a [&'a (Parser<T> + 'a)]) -> Choice<'a, 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] 7 | pub fn choice<'a, T>(p: &'a [&'a (dyn Parser<T> + 'a)]) -> Choice<'a, T> {
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn until<'a, T>(t:&'a (Parser<T>+'a)) -> Until<'a, 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] 7 | pub fn until<'a, T>(t:&'a (dyn Parser<T>+'a)) -> Until<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many<'a, T>(p: &'a (Parser<T> + 'a)) -> Many<'a, 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] 7 | pub fn many<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling topdown-rs v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many1<'a, T>(p: &'a (Parser<T> + 'a)) -> Many1<'a, 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] 7 | pub fn many1<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many1<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn try<'a, T>(p: &'a(Parser<T>+'a)) -> Try<'a, 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] 7 | pub fn try<'a, T>(p: &'a(dyn Parser<T>+'a)) -> Try<'a, T> {
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (dyn Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (dyn Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn opt<'a, T:Clone>(p:&'a (Parser<T>+'a), d: T) -> Opt<'a, 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] 8 | pub fn opt<'a, T:Clone>(p:&'a (dyn Parser<T>+'a), d: T) -> Opt<'a, T> {
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (dyn Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (dyn Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (dyn Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (dyn Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:178:43
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn add_hook(&mut self, hook: &'a (ParserHook+'a)) {
[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] 178 |     pub fn add_hook(&mut self, hook: &'a (dyn ParserHook+'a)) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:195:37
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn accept<T>(&mut self, p: &Parser<T>) -> ParserResult<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] 195 |     pub fn accept<T>(&mut self, p: &dyn Parser<T>) -> ParserResult<T> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/keyword.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn keyword<'a>(k: &'a str) -> Keyword {
[INFO] [stdout]   |                        --         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn keyword<'a>(k: &'a str) -> Keyword<'a> {
[INFO] [stdout]   |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> examples/interpreter/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.100.0
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> examples/interpreter/main.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:342:32
[INFO] [stdout]     |
[INFO] [stdout] 342 |             "*" => (Box::new(|&: a:AST, b:AST| BinOp(MUL, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:343:32
[INFO] [stdout]     |
[INFO] [stdout] 343 |             "/" => (Box::new(|&: a:AST, b:AST| BinOp(DIV, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             "%" => (Box::new(|&: a:AST, b:AST| BinOp(MOD, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:353:32
[INFO] [stdout]     |
[INFO] [stdout] 353 |             "+" => (Box::new(|&: a:AST, b:AST| BinOp(ADD, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:354:32
[INFO] [stdout]     |
[INFO] [stdout] 354 |             "-" => (Box::new(|&: a:AST, b:AST| BinOp(SUB, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:355:33
[INFO] [stdout]     |
[INFO] [stdout] 355 |             "==" => (Box::new(|&: a:AST, b:AST| BinOp(EQ, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:356:33
[INFO] [stdout]     |
[INFO] [stdout] 356 |             "!=" => (Box::new(|&: a:AST, b:AST| BinOp(NE, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:357:32
[INFO] [stdout]     |
[INFO] [stdout] 357 |             ">" => (Box::new(|&: a:AST, b:AST| BinOp(GT, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:358:33
[INFO] [stdout]     |
[INFO] [stdout] 358 |             ">=" => (Box::new(|&: a:AST, b:AST| BinOp(GE, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:359:32
[INFO] [stdout]     |
[INFO] [stdout] 359 |             "<" => (Box::new(|&: a:AST, b:AST| BinOp(LT, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:360:33
[INFO] [stdout]     |
[INFO] [stdout] 360 |             "<=" => (Box::new(|&: a:AST, b:AST| BinOp(LE, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:369:33
[INFO] [stdout]     |
[INFO] [stdout] 369 |             "||" => (Box::new(|&: a:AST, b:AST| BinOp(LOR, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected parameter name, found `:`
[INFO] [stdout]    --> examples/interpreter/parser.rs:370:33
[INFO] [stdout]     |
[INFO] [stdout] 370 |             "&&" => (Box::new(|&: a:AST, b:AST| BinOp(LAND, Box::new(a.clone()), Box::new(b.clone())))) as Box<Fn(AST, AST) -> AST>,
[INFO] [stdout]     |                                 ^ expected parameter name
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 Ok(box Return(a, b)) => return Err(format!("`return` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -                 Ok(box Return(a, b)) => return Err(format!("`return` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 51 +                 Ok(Return(a, b)) => return Err(format!("`return` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -                 Ok(box Return(a, b)) => return Err(format!("`return` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 51 +                 Ok(deref!(Return(a, b))) => return Err(format!("`return` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok(box Continue(b)) => return Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 52 -                 Ok(box Continue(b)) => return Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 52 +                 Ok(Continue(b)) => return Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 52 -                 Ok(box Continue(b)) => return Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 52 +                 Ok(deref!(Continue(b))) => return Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Ok(box Break(b)) => return Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 53 -                 Ok(box Break(b)) => return Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 53 +                 Ok(Break(b)) => return Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 53 -                 Ok(box Break(b)) => return Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 53 +                 Ok(deref!(Break(b))) => return Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 Ok(box Return(a, b)) => return Ok(Box::new(Return(a.clone(), b.clone()))),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 66 -                 Ok(box Return(a, b)) => return Ok(Box::new(Return(a.clone(), b.clone()))),
[INFO] [stdout] 66 +                 Ok(Return(a, b)) => return Ok(Box::new(Return(a.clone(), b.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 66 -                 Ok(box Return(a, b)) => return Ok(Box::new(Return(a.clone(), b.clone()))),
[INFO] [stdout] 66 +                 Ok(deref!(Return(a, b))) => return Ok(Box::new(Return(a.clone(), b.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 Ok(box Continue(a)) => return Ok(Box::new(Continue(a.clone()))),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 Ok(box Continue(a)) => return Ok(Box::new(Continue(a.clone()))),
[INFO] [stdout] 67 +                 Ok(Continue(a)) => return Ok(Box::new(Continue(a.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 Ok(box Continue(a)) => return Ok(Box::new(Continue(a.clone()))),
[INFO] [stdout] 67 +                 Ok(deref!(Continue(a))) => return Ok(Box::new(Continue(a.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 Ok(box Break(a)) => return Ok(Box::new(Break(a.clone()))),
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 68 -                 Ok(box Break(a)) => return Ok(Box::new(Break(a.clone()))),
[INFO] [stdout] 68 +                 Ok(Break(a)) => return Ok(Box::new(Break(a.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 68 -                 Ok(box Break(a)) => return Ok(Box::new(Break(a.clone()))),
[INFO] [stdout] 68 +                 Ok(deref!(Break(a))) => return Ok(Box::new(Break(a.clone()))),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...                   &box String_(ref n)=> {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 90 -                             &box String_(ref n)=> {
[INFO] [stdout] 90 +                             &String_(ref n)=> {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 90 -                             &box String_(ref n)=> {
[INFO] [stdout] 90 +                             &deref!(String_(ref n))=> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> examples/interpreter/interpreter.rs:94:30
[INFO] [stdout]    |
[INFO] [stdout] 94 | ...                   &box IndexRef(ref expr, ref index) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 94 -                             &box IndexRef(ref expr, ref index) => {
[INFO] [stdout] 94 +                             &IndexRef(ref expr, ref index) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 94 -                             &box IndexRef(ref expr, ref index) => {
[INFO] [stdout] 94 +                             &deref!(IndexRef(ref expr, ref index)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:101:45
[INFO] [stdout]     |
[INFO] [stdout] 101 | ...                   box VarRef(ref a, ref b) => 
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 101 -                                             box VarRef(ref a, ref b) => 
[INFO] [stdout] 101 +                                             VarRef(ref a, ref b) => 
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 101 -                                             box VarRef(ref a, ref b) => 
[INFO] [stdout] 101 +                                             deref!(VarRef(ref a, ref b)) => 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     Ok(box Bool_(true)) => self.eval(&**then_),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 117 -                     Ok(box Bool_(true)) => self.eval(&**then_),
[INFO] [stdout] 117 +                     Ok(Bool_(true)) => self.eval(&**then_),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 117 -                     Ok(box Bool_(true)) => self.eval(&**then_),
[INFO] [stdout] 117 +                     Ok(deref!(Bool_(true))) => self.eval(&**then_),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |                     Ok(box Bool_(false)) => self.eval(&**else_),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 118 -                     Ok(box Bool_(false)) => self.eval(&**else_),
[INFO] [stdout] 118 +                     Ok(Bool_(false)) => self.eval(&**else_),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 118 -                     Ok(box Bool_(false)) => self.eval(&**else_),
[INFO] [stdout] 118 +                     Ok(deref!(Bool_(false))) => self.eval(&**else_),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 | ...                   box List_(ref vec, ref l) => {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 128 -                             box List_(ref vec, ref l) => {
[INFO] [stdout] 128 +                             List_(ref vec, ref l) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 128 -                             box List_(ref vec, ref l) => {
[INFO] [stdout] 128 +                             deref!(List_(ref vec, ref l)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:143:44
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   Ok(box Break(_))=> {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 143 -                                         Ok(box Break(_))=> {
[INFO] [stdout] 143 +                                         Ok(Break(_))=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 143 -                                         Ok(box Break(_))=> {
[INFO] [stdout] 143 +                                         Ok(deref!(Break(_)))=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:147:44
[INFO] [stdout]     |
[INFO] [stdout] 147 | ...                   Ok(box Continue(_))=> {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 147 -                                         Ok(box Continue(_))=> {
[INFO] [stdout] 147 +                                         Ok(Continue(_))=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 147 -                                         Ok(box Continue(_))=> {
[INFO] [stdout] 147 +                                         Ok(deref!(Continue(_)))=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:151:44
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   Ok(box Return(v, l)) => {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 151 -                                         Ok(box Return(v, l)) => {
[INFO] [stdout] 151 +                                         Ok(Return(v, l)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 151 -                                         Ok(box Return(v, l)) => {
[INFO] [stdout] 151 +                                         Ok(deref!(Return(v, l))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:232:24
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     Ok(box Int_(v))=> Ok(Box::new(Int_(v))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 232 -                     Ok(box Int_(v))=> Ok(Box::new(Int_(v))),
[INFO] [stdout] 232 +                     Ok(Int_(v))=> Ok(Box::new(Int_(v))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 232 -                     Ok(box Int_(v))=> Ok(Box::new(Int_(v))),
[INFO] [stdout] 232 +                     Ok(deref!(Int_(v)))=> Ok(Box::new(Int_(v))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:233:24
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     Ok(box Float_(v))=> Ok(Box::new(Float_(v))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 233 -                     Ok(box Float_(v))=> Ok(Box::new(Float_(v))),
[INFO] [stdout] 233 +                     Ok(Float_(v))=> Ok(Box::new(Float_(v))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 233 -                     Ok(box Float_(v))=> Ok(Box::new(Float_(v))),
[INFO] [stdout] 233 +                     Ok(deref!(Float_(v)))=> Ok(Box::new(Float_(v))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     Ok(box Int_(v))=> Ok(Box::new(Int_(-v))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 237 -                     Ok(box Int_(v))=> Ok(Box::new(Int_(-v))),
[INFO] [stdout] 237 +                     Ok(Int_(v))=> Ok(Box::new(Int_(-v))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 237 -                     Ok(box Int_(v))=> Ok(Box::new(Int_(-v))),
[INFO] [stdout] 237 +                     Ok(deref!(Int_(v)))=> Ok(Box::new(Int_(-v))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:238:24
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     Ok(box Float_(v))=> Ok(Box::new(Float_(-v))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 238 -                     Ok(box Float_(v))=> Ok(Box::new(Float_(-v))),
[INFO] [stdout] 238 +                     Ok(Float_(v))=> Ok(Box::new(Float_(-v))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 238 -                     Ok(box Float_(v))=> Ok(Box::new(Float_(-v))),
[INFO] [stdout] 238 +                     Ok(deref!(Float_(v)))=> Ok(Box::new(Float_(-v))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:242:24
[INFO] [stdout]     |
[INFO] [stdout] 242 |                     Ok(box Bool_(v))=> Ok(Box::new(Bool_(!v))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 242 -                     Ok(box Bool_(v))=> Ok(Box::new(Bool_(!v))),
[INFO] [stdout] 242 +                     Ok(Bool_(v))=> Ok(Box::new(Bool_(!v))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 242 -                     Ok(box Bool_(v))=> Ok(Box::new(Bool_(!v))),
[INFO] [stdout] 242 +                     Ok(deref!(Bool_(v)))=> Ok(Box::new(Bool_(!v))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:250:26
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     Some(box DefFunc(ref name, ref params, ref body, ref loc)) => {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 250 -                     Some(box DefFunc(ref name, ref params, ref body, ref loc)) => {
[INFO] [stdout] 250 +                     Some(DefFunc(ref name, ref params, ref body, ref loc)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 250 -                     Some(box DefFunc(ref name, ref params, ref body, ref loc)) => {
[INFO] [stdout] 250 +                     Some(deref!(DefFunc(ref name, ref params, ref body, ref loc))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:271:32
[INFO] [stdout]     |
[INFO] [stdout] 271 | ...                   Ok(box Return(expr, loc)) => Ok(Box::new(*expr.clone())),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 271 -                             Ok(box Return(expr, loc)) => Ok(Box::new(*expr.clone())),
[INFO] [stdout] 271 +                             Ok(Return(expr, loc)) => Ok(Box::new(*expr.clone())),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 271 -                             Ok(box Return(expr, loc)) => Ok(Box::new(*expr.clone())),
[INFO] [stdout] 271 +                             Ok(deref!(Return(expr, loc))) => Ok(Box::new(*expr.clone())),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:272:32
[INFO] [stdout]     |
[INFO] [stdout] 272 | ...                   Ok(box Continue(b))=> Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 272 -                             Ok(box Continue(b))=> Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 272 +                             Ok(Continue(b))=> Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 272 -                             Ok(box Continue(b))=> Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 272 +                             Ok(deref!(Continue(b)))=> Err(format!("`continue` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:273:32
[INFO] [stdout]     |
[INFO] [stdout] 273 | ...                   Ok(box Break(b))=> Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             Ok(box Break(b))=> Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 273 +                             Ok(Break(b))=> Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 273 -                             Ok(box Break(b))=> Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout] 273 +                             Ok(deref!(Break(b)))=> Err(format!("`break` can not appear here: col={} row={} {}", b.col, b.row, b.place)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:287:24
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     Ok(box List_(ref ls, ref loc)) => match self.eval(&**index) {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 287 -                     Ok(box List_(ref ls, ref loc)) => match self.eval(&**index) {
[INFO] [stdout] 287 +                     Ok(List_(ref ls, ref loc)) => match self.eval(&**index) {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 287 -                     Ok(box List_(ref ls, ref loc)) => match self.eval(&**index) {
[INFO] [stdout] 287 +                     Ok(deref!(List_(ref ls, ref loc))) => match self.eval(&**index) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:288:28
[INFO] [stdout]     |
[INFO] [stdout] 288 |                         Ok(box Int_(v))=> {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 288 -                         Ok(box Int_(v))=> {
[INFO] [stdout] 288 +                         Ok(Int_(v))=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 288 -                         Ok(box Int_(v))=> {
[INFO] [stdout] 288 +                         Ok(deref!(Int_(v)))=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:303:24
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     Ok(box Object_(ref mp, ref loc)) => match self.eval(&**index) {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 303 -                     Ok(box Object_(ref mp, ref loc)) => match self.eval(&**index) {
[INFO] [stdout] 303 +                     Ok(Object_(ref mp, ref loc)) => match self.eval(&**index) {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 303 -                     Ok(box Object_(ref mp, ref loc)) => match self.eval(&**index) {
[INFO] [stdout] 303 +                     Ok(deref!(Object_(ref mp, ref loc))) => match self.eval(&**index) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 304 |                         Ok(box String_(ref v))=> {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 304 -                         Ok(box String_(ref v))=> {
[INFO] [stdout] 304 +                         Ok(String_(ref v))=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 304 -                         Ok(box String_(ref v))=> {
[INFO] [stdout] 304 +                         Ok(deref!(String_(ref v)))=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:336:16
[INFO] [stdout]     |
[INFO] [stdout] 336 |             Ok(box List_(ref mut ls, ref loc)) => {
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 336 -             Ok(box List_(ref mut ls, ref loc)) => {
[INFO] [stdout] 336 +             Ok(List_(ref mut ls, ref loc)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 336 -             Ok(box List_(ref mut ls, ref loc)) => {
[INFO] [stdout] 336 +             Ok(deref!(List_(ref mut ls, ref loc))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:339:24
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     Ok(box Int_(n) )=> {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 339 -                     Ok(box Int_(n) )=> {
[INFO] [stdout] 339 +                     Ok(Int_(n) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 339 -                     Ok(box Int_(n) )=> {
[INFO] [stdout] 339 +                     Ok(deref!(Int_(n)) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:364:16
[INFO] [stdout]     |
[INFO] [stdout] 364 |             Ok(box Object_(ref mut mp, ref loc)) => {
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 364 -             Ok(box Object_(ref mut mp, ref loc)) => {
[INFO] [stdout] 364 +             Ok(Object_(ref mut mp, ref loc)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 364 -             Ok(box Object_(ref mut mp, ref loc)) => {
[INFO] [stdout] 364 +             Ok(deref!(Object_(ref mut mp, ref loc))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:367:24
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     Ok(box String_(s) )=> {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 367 -                     Ok(box String_(s) )=> {
[INFO] [stdout] 367 +                     Ok(String_(s) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 367 -                     Ok(box String_(s) )=> {
[INFO] [stdout] 367 +                     Ok(deref!(String_(s)) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:393:24
[INFO] [stdout]     |
[INFO] [stdout] 393 |             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 393 -             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout] 393 +             BinOp(ADD, Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 393 -             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout] 393 +             BinOp(ADD, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:393:37
[INFO] [stdout]     |
[INFO] [stdout] 393 |             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 393 -             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout] 393 +             BinOp(ADD, box Int_(l), Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 393 -             BinOp(ADD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout] 393 +             BinOp(ADD, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Int_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:394:24
[INFO] [stdout]     |
[INFO] [stdout] 394 |             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 394 -             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout] 394 +             BinOp(SUB, Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 394 -             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout] 394 +             BinOp(SUB, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:394:37
[INFO] [stdout]     |
[INFO] [stdout] 394 |             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 394 -             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout] 394 +             BinOp(SUB, box Int_(l), Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 394 -             BinOp(SUB, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout] 394 +             BinOp(SUB, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Int_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 395 -             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout] 395 +             BinOp(MUL, Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 395 -             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout] 395 +             BinOp(MUL, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:395:37
[INFO] [stdout]     |
[INFO] [stdout] 395 |             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 395 -             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout] 395 +             BinOp(MUL, box Int_(l), Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 395 -             BinOp(MUL, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout] 395 +             BinOp(MUL, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Int_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:396:24
[INFO] [stdout]     |
[INFO] [stdout] 396 |             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 396 -             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout] 396 +             BinOp(DIV, Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 396 -             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout] 396 +             BinOp(DIV, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:396:37
[INFO] [stdout]     |
[INFO] [stdout] 396 |             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 396 -             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout] 396 +             BinOp(DIV, box Int_(l), Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 396 -             BinOp(DIV, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout] 396 +             BinOp(DIV, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Int_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:397:24
[INFO] [stdout]     |
[INFO] [stdout] 397 |             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 397 -             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout] 397 +             BinOp(MOD, Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 397 -             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout] 397 +             BinOp(MOD, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:397:37
[INFO] [stdout]     |
[INFO] [stdout] 397 |             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 397 -             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout] 397 +             BinOp(MOD, box Int_(l), Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 397 -             BinOp(MOD, box Int_(l), box Int_(r) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout] 397 +             BinOp(MOD, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Int_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:398:23
[INFO] [stdout]     |
[INFO] [stdout] 398 |             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 398 -             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 398 +             BinOp(EQ, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 398 -             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 398 +             BinOp(EQ, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:398:36
[INFO] [stdout]     |
[INFO] [stdout] 398 |             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 398 -             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 398 +             BinOp(EQ, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 398 -             BinOp(EQ, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 398 +             BinOp(EQ, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:399:23
[INFO] [stdout]     |
[INFO] [stdout] 399 |             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 399 -             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 399 +             BinOp(NE, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 399 -             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 399 +             BinOp(NE, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:399:36
[INFO] [stdout]     |
[INFO] [stdout] 399 |             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 399 -             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 399 +             BinOp(NE, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 399 -             BinOp(NE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 399 +             BinOp(NE, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:400:23
[INFO] [stdout]     |
[INFO] [stdout] 400 |             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 400 -             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 400 +             BinOp(GT, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 400 -             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 400 +             BinOp(GT, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:400:36
[INFO] [stdout]     |
[INFO] [stdout] 400 |             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 400 -             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 400 +             BinOp(GT, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 400 -             BinOp(GT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 400 +             BinOp(GT, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:401:23
[INFO] [stdout]     |
[INFO] [stdout] 401 |             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 401 -             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 401 +             BinOp(GE, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 401 -             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 401 +             BinOp(GE, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:401:36
[INFO] [stdout]     |
[INFO] [stdout] 401 |             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 401 -             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 401 +             BinOp(GE, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 401 -             BinOp(GE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 401 +             BinOp(GE, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:402:23
[INFO] [stdout]     |
[INFO] [stdout] 402 |             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 402 -             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 402 +             BinOp(LT, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 402 -             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 402 +             BinOp(LT, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:402:36
[INFO] [stdout]     |
[INFO] [stdout] 402 |             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 402 -             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 402 +             BinOp(LT, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 402 -             BinOp(LT, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 402 +             BinOp(LT, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:403:23
[INFO] [stdout]     |
[INFO] [stdout] 403 |             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 403 -             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 403 +             BinOp(LE, Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 403 -             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 403 +             BinOp(LE, deref!(Int_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:403:36
[INFO] [stdout]     |
[INFO] [stdout] 403 |             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 403 -             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 403 +             BinOp(LE, box Int_(l), Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 403 -             BinOp(LE, box Int_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 403 +             BinOp(LE, box Int_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:406:24
[INFO] [stdout]     |
[INFO] [stdout] 406 |             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 406 -             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout] 406 +             BinOp(ADD, Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 406 -             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout] 406 +             BinOp(ADD, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:406:39
[INFO] [stdout]     |
[INFO] [stdout] 406 |             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 406 -             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout] 406 +             BinOp(ADD, box Float_(l), Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 406 -             BinOp(ADD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout] 406 +             BinOp(ADD, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:407:24
[INFO] [stdout]     |
[INFO] [stdout] 407 |             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 407 -             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout] 407 +             BinOp(SUB, Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 407 -             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout] 407 +             BinOp(SUB, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:407:39
[INFO] [stdout]     |
[INFO] [stdout] 407 |             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 407 -             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout] 407 +             BinOp(SUB, box Float_(l), Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 407 -             BinOp(SUB, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout] 407 +             BinOp(SUB, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:408:24
[INFO] [stdout]     |
[INFO] [stdout] 408 |             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 408 -             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout] 408 +             BinOp(MUL, Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 408 -             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout] 408 +             BinOp(MUL, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:408:39
[INFO] [stdout]     |
[INFO] [stdout] 408 |             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 408 -             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout] 408 +             BinOp(MUL, box Float_(l), Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 408 -             BinOp(MUL, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout] 408 +             BinOp(MUL, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:409:24
[INFO] [stdout]     |
[INFO] [stdout] 409 |             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 409 -             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout] 409 +             BinOp(DIV, Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 409 -             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout] 409 +             BinOp(DIV, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:409:39
[INFO] [stdout]     |
[INFO] [stdout] 409 |             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 409 -             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout] 409 +             BinOp(DIV, box Float_(l), Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 409 -             BinOp(DIV, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout] 409 +             BinOp(DIV, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:410:24
[INFO] [stdout]     |
[INFO] [stdout] 410 |             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 410 -             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout] 410 +             BinOp(MOD, Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 410 -             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout] 410 +             BinOp(MOD, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:410:39
[INFO] [stdout]     |
[INFO] [stdout] 410 |             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 410 -             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout] 410 +             BinOp(MOD, box Float_(l), Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 410 -             BinOp(MOD, box Float_(l), box Float_(r) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout] 410 +             BinOp(MOD, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:411:23
[INFO] [stdout]     |
[INFO] [stdout] 411 |             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 411 -             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 411 +             BinOp(EQ, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 411 -             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 411 +             BinOp(EQ, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:411:38
[INFO] [stdout]     |
[INFO] [stdout] 411 |             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 411 -             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 411 +             BinOp(EQ, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 411 -             BinOp(EQ, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout] 411 +             BinOp(EQ, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:412:23
[INFO] [stdout]     |
[INFO] [stdout] 412 |             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 412 -             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 412 +             BinOp(NE, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 412 -             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 412 +             BinOp(NE, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:412:38
[INFO] [stdout]     |
[INFO] [stdout] 412 |             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 412 -             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 412 +             BinOp(NE, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 412 -             BinOp(NE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout] 412 +             BinOp(NE, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:413:23
[INFO] [stdout]     |
[INFO] [stdout] 413 |             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 413 -             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 413 +             BinOp(GT, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 413 -             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 413 +             BinOp(GT, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:413:38
[INFO] [stdout]     |
[INFO] [stdout] 413 |             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 413 -             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 413 +             BinOp(GT, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 413 -             BinOp(GT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout] 413 +             BinOp(GT, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:414:23
[INFO] [stdout]     |
[INFO] [stdout] 414 |             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 414 -             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 414 +             BinOp(GE, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 414 -             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 414 +             BinOp(GE, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:414:38
[INFO] [stdout]     |
[INFO] [stdout] 414 |             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 414 -             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 414 +             BinOp(GE, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 414 -             BinOp(GE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout] 414 +             BinOp(GE, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:415:23
[INFO] [stdout]     |
[INFO] [stdout] 415 |             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 415 -             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 415 +             BinOp(LT, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 415 -             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 415 +             BinOp(LT, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:415:38
[INFO] [stdout]     |
[INFO] [stdout] 415 |             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 415 -             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 415 +             BinOp(LT, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 415 -             BinOp(LT, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout] 415 +             BinOp(LT, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l<r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:416:23
[INFO] [stdout]     |
[INFO] [stdout] 416 |             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 416 -             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 416 +             BinOp(LE, Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 416 -             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 416 +             BinOp(LE, deref!(Float_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:416:38
[INFO] [stdout]     |
[INFO] [stdout] 416 |             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 416 -             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 416 +             BinOp(LE, box Float_(l), Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 416 -             BinOp(LE, box Float_(l), box Float_(r) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout] 416 +             BinOp(LE, box Float_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 |             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 419 -             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout] 419 +             BinOp(ADD, Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 419 -             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout] 419 +             BinOp(ADD, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:419:37
[INFO] [stdout]     |
[INFO] [stdout] 419 |             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 419 -             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout] 419 +             BinOp(ADD, box Int_(l), Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 419 -             BinOp(ADD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout] 419 +             BinOp(ADD, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l as f64+r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:420:24
[INFO] [stdout]     |
[INFO] [stdout] 420 |             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 420 -             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout] 420 +             BinOp(SUB, Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 420 -             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout] 420 +             BinOp(SUB, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:420:37
[INFO] [stdout]     |
[INFO] [stdout] 420 |             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 420 -             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout] 420 +             BinOp(SUB, box Int_(l), Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 420 -             BinOp(SUB, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout] 420 +             BinOp(SUB, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l as f64-r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:421:24
[INFO] [stdout]     |
[INFO] [stdout] 421 |             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 421 -             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout] 421 +             BinOp(MUL, Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 421 -             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout] 421 +             BinOp(MUL, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:421:37
[INFO] [stdout]     |
[INFO] [stdout] 421 |             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 421 -             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout] 421 +             BinOp(MUL, box Int_(l), Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 421 -             BinOp(MUL, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout] 421 +             BinOp(MUL, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l as f64*r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:422:24
[INFO] [stdout]     |
[INFO] [stdout] 422 |             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 422 -             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout] 422 +             BinOp(DIV, Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 422 -             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout] 422 +             BinOp(DIV, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:422:37
[INFO] [stdout]     |
[INFO] [stdout] 422 |             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 422 -             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout] 422 +             BinOp(DIV, box Int_(l), Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 422 -             BinOp(DIV, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout] 422 +             BinOp(DIV, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l as f64/r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:423:24
[INFO] [stdout]     |
[INFO] [stdout] 423 |             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 423 -             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout] 423 +             BinOp(MOD, Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 423 -             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout] 423 +             BinOp(MOD, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:423:37
[INFO] [stdout]     |
[INFO] [stdout] 423 |             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 423 -             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout] 423 +             BinOp(MOD, box Int_(l), Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 423 -             BinOp(MOD, box Int_(l), box Float_(r) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout] 423 +             BinOp(MOD, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Float_(l as f64%r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:424:23
[INFO] [stdout]     |
[INFO] [stdout] 424 |             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 424 -             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout] 424 +             BinOp(EQ, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 424 -             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout] 424 +             BinOp(EQ, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:424:36
[INFO] [stdout]     |
[INFO] [stdout] 424 |             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 424 -             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout] 424 +             BinOp(EQ, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 424 -             BinOp(EQ, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout] 424 +             BinOp(EQ, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l as f64==r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:425:23
[INFO] [stdout]     |
[INFO] [stdout] 425 |             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 425 -             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout] 425 +             BinOp(NE, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 425 -             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout] 425 +             BinOp(NE, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:425:36
[INFO] [stdout]     |
[INFO] [stdout] 425 |             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 425 -             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout] 425 +             BinOp(NE, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 425 -             BinOp(NE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout] 425 +             BinOp(NE, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l as f64!=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:426:23
[INFO] [stdout]     |
[INFO] [stdout] 426 |             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 426 -             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout] 426 +             BinOp(GT, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 426 -             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout] 426 +             BinOp(GT, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:426:36
[INFO] [stdout]     |
[INFO] [stdout] 426 |             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 426 -             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout] 426 +             BinOp(GT, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 426 -             BinOp(GT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout] 426 +             BinOp(GT, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l as f64>r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:427:23
[INFO] [stdout]     |
[INFO] [stdout] 427 |             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 427 -             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout] 427 +             BinOp(GE, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 427 -             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout] 427 +             BinOp(GE, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:427:36
[INFO] [stdout]     |
[INFO] [stdout] 427 |             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 427 -             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout] 427 +             BinOp(GE, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 427 -             BinOp(GE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout] 427 +             BinOp(GE, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l as f64>=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:428:23
[INFO] [stdout]     |
[INFO] [stdout] 428 |             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 428 -             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout] 428 +             BinOp(LT, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 428 -             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout] 428 +             BinOp(LT, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:428:36
[INFO] [stdout]     |
[INFO] [stdout] 428 |             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 428 -             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout] 428 +             BinOp(LT, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 428 -             BinOp(LT, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout] 428 +             BinOp(LT, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_((l as f64) <r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:429:23
[INFO] [stdout]     |
[INFO] [stdout] 429 |             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 429 -             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout] 429 +             BinOp(LE, Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 429 -             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout] 429 +             BinOp(LE, deref!(Int_(l)), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:429:36
[INFO] [stdout]     |
[INFO] [stdout] 429 |             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 429 -             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout] 429 +             BinOp(LE, box Int_(l), Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 429 -             BinOp(LE, box Int_(l), box Float_(r) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout] 429 +             BinOp(LE, box Int_(l), deref!(Float_(r)) )=> Ok(Box::new(Bool_(l as f64<=r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:432:24
[INFO] [stdout]     |
[INFO] [stdout] 432 |             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 432 -             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout] 432 +             BinOp(ADD, Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 432 -             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout] 432 +             BinOp(ADD, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:432:39
[INFO] [stdout]     |
[INFO] [stdout] 432 |             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 432 -             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout] 432 +             BinOp(ADD, box Float_(l), Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 432 -             BinOp(ADD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout] 432 +             BinOp(ADD, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Float_(l+r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:433:24
[INFO] [stdout]     |
[INFO] [stdout] 433 |             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 433 -             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout] 433 +             BinOp(SUB, Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 433 -             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout] 433 +             BinOp(SUB, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:433:39
[INFO] [stdout]     |
[INFO] [stdout] 433 |             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 433 -             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout] 433 +             BinOp(SUB, box Float_(l), Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 433 -             BinOp(SUB, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout] 433 +             BinOp(SUB, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Float_(l-r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:434:24
[INFO] [stdout]     |
[INFO] [stdout] 434 |             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 434 -             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout] 434 +             BinOp(MUL, Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 434 -             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout] 434 +             BinOp(MUL, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:434:39
[INFO] [stdout]     |
[INFO] [stdout] 434 |             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 434 -             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout] 434 +             BinOp(MUL, box Float_(l), Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 434 -             BinOp(MUL, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout] 434 +             BinOp(MUL, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Float_(l*r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:435:24
[INFO] [stdout]     |
[INFO] [stdout] 435 |             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 435 -             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout] 435 +             BinOp(DIV, Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 435 -             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout] 435 +             BinOp(DIV, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:435:39
[INFO] [stdout]     |
[INFO] [stdout] 435 |             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 435 -             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout] 435 +             BinOp(DIV, box Float_(l), Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 435 -             BinOp(DIV, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout] 435 +             BinOp(DIV, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Float_(l/r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:436:24
[INFO] [stdout]     |
[INFO] [stdout] 436 |             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 436 -             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout] 436 +             BinOp(MOD, Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 436 -             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout] 436 +             BinOp(MOD, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:436:39
[INFO] [stdout]     |
[INFO] [stdout] 436 |             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 436 -             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout] 436 +             BinOp(MOD, box Float_(l), Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 436 -             BinOp(MOD, box Float_(l), box Int_(r) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout] 436 +             BinOp(MOD, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Float_(l%r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:437:23
[INFO] [stdout]     |
[INFO] [stdout] 437 |             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 437 -             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout] 437 +             BinOp(EQ, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 437 -             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout] 437 +             BinOp(EQ, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:437:38
[INFO] [stdout]     |
[INFO] [stdout] 437 |             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 437 -             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout] 437 +             BinOp(EQ, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 437 -             BinOp(EQ, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout] 437 +             BinOp(EQ, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l==r as f64))), 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:438:23
[INFO] [stdout]     |
[INFO] [stdout] 438 |             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 438 -             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout] 438 +             BinOp(NE, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 438 -             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout] 438 +             BinOp(NE, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:438:38
[INFO] [stdout]     |
[INFO] [stdout] 438 |             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 438 -             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout] 438 +             BinOp(NE, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 438 -             BinOp(NE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout] 438 +             BinOp(NE, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l!=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:439:23
[INFO] [stdout]     |
[INFO] [stdout] 439 |             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 439 -             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout] 439 +             BinOp(GT, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 439 -             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout] 439 +             BinOp(GT, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:439:38
[INFO] [stdout]     |
[INFO] [stdout] 439 |             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 439 -             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout] 439 +             BinOp(GT, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 439 -             BinOp(GT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout] 439 +             BinOp(GT, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l>r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:440:23
[INFO] [stdout]     |
[INFO] [stdout] 440 |             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 440 -             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout] 440 +             BinOp(GE, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 440 -             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout] 440 +             BinOp(GE, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:440:38
[INFO] [stdout]     |
[INFO] [stdout] 440 |             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 440 -             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout] 440 +             BinOp(GE, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 440 -             BinOp(GE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout] 440 +             BinOp(GE, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l>=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:441:23
[INFO] [stdout]     |
[INFO] [stdout] 441 |             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 441 -             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout] 441 +             BinOp(LT, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 441 -             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout] 441 +             BinOp(LT, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:441:38
[INFO] [stdout]     |
[INFO] [stdout] 441 |             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 441 -             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout] 441 +             BinOp(LT, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 441 -             BinOp(LT, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout] 441 +             BinOp(LT, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l<r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:442:23
[INFO] [stdout]     |
[INFO] [stdout] 442 |             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 442 -             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout] 442 +             BinOp(LE, Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 442 -             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout] 442 +             BinOp(LE, deref!(Float_(l)), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:442:38
[INFO] [stdout]     |
[INFO] [stdout] 442 |             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 442 -             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout] 442 +             BinOp(LE, box Float_(l), Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 442 -             BinOp(LE, box Float_(l), box Int_(r) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout] 442 +             BinOp(LE, box Float_(l), deref!(Int_(r)) )=> Ok(Box::new(Bool_(l<=r as f64))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:445:24
[INFO] [stdout]     |
[INFO] [stdout] 445 |             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 445 -             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout] 445 +             BinOp(ADD, String_(l), box String_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 445 -             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout] 445 +             BinOp(ADD, deref!(String_(l)), box String_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:445:40
[INFO] [stdout]     |
[INFO] [stdout] 445 |             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 445 -             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout] 445 +             BinOp(ADD, box String_(l), String_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 445 -             BinOp(ADD, box String_(l), box String_(r) )=> {
[INFO] [stdout] 445 +             BinOp(ADD, box String_(l), deref!(String_(r)) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:449:20
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 Ok(box String_(s.clone()))
[INFO] [stdout]     |                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:451:24
[INFO] [stdout]     |
[INFO] [stdout] 451 |             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 451 -             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout] 451 +             BinOp(MUL, String_(l), box Int_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 451 -             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout] 451 +             BinOp(MUL, deref!(String_(l)), box Int_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:451:40
[INFO] [stdout]     |
[INFO] [stdout] 451 |             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 451 -             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout] 451 +             BinOp(MUL, box String_(l), Int_(r) )=> {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 451 -             BinOp(MUL, box String_(l), box Int_(r) )=> {
[INFO] [stdout] 451 +             BinOp(MUL, box String_(l), deref!(Int_(r)) )=> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:456:20
[INFO] [stdout]     |
[INFO] [stdout] 456 |                 Ok(box String_(s.clone()))
[INFO] [stdout]     |                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:458:23
[INFO] [stdout]     |
[INFO] [stdout] 458 |             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 458 -             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout] 458 +             BinOp(EQ, String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 458 -             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout] 458 +             BinOp(EQ, deref!(String_(l)), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:458:39
[INFO] [stdout]     |
[INFO] [stdout] 458 |             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 458 -             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout] 458 +             BinOp(EQ, box String_(l), String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 458 -             BinOp(EQ, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout] 458 +             BinOp(EQ, box String_(l), deref!(String_(r)) )=> Ok(Box::new(Bool_(l.as_slice() == r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:459:23
[INFO] [stdout]     |
[INFO] [stdout] 459 |             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 459 -             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout] 459 +             BinOp(NE, String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 459 -             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout] 459 +             BinOp(NE, deref!(String_(l)), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:459:39
[INFO] [stdout]     |
[INFO] [stdout] 459 |             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 459 -             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout] 459 +             BinOp(NE, box String_(l), String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 459 -             BinOp(NE, box String_(l), box String_(r) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout] 459 +             BinOp(NE, box String_(l), deref!(String_(r)) )=> Ok(Box::new(Bool_(l.as_slice() != r.as_slice()))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:462:23
[INFO] [stdout]     |
[INFO] [stdout] 462 |             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 462 -             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout] 462 +             BinOp(EQ, Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 462 -             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout] 462 +             BinOp(EQ, deref!(Bool_(l)), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:462:37
[INFO] [stdout]     |
[INFO] [stdout] 462 |             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 462 -             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout] 462 +             BinOp(EQ, box Bool_(l), Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 462 -             BinOp(EQ, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout] 462 +             BinOp(EQ, box Bool_(l), deref!(Bool_(r)) )=> Ok(Box::new(Bool_(l == r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:463:23
[INFO] [stdout]     |
[INFO] [stdout] 463 |             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 463 -             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout] 463 +             BinOp(NE, Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 463 -             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout] 463 +             BinOp(NE, deref!(Bool_(l)), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:463:37
[INFO] [stdout]     |
[INFO] [stdout] 463 |             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 463 -             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout] 463 +             BinOp(NE, box Bool_(l), Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 463 -             BinOp(NE, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout] 463 +             BinOp(NE, box Bool_(l), deref!(Bool_(r)) )=> Ok(Box::new(Bool_(l != r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 464 -             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout] 464 +             BinOp(LAND, Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 464 -             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout] 464 +             BinOp(LAND, deref!(Bool_(l)), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:464:39
[INFO] [stdout]     |
[INFO] [stdout] 464 |             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 464 -             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout] 464 +             BinOp(LAND, box Bool_(l), Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 464 -             BinOp(LAND, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout] 464 +             BinOp(LAND, box Bool_(l), deref!(Bool_(r)) )=> Ok(Box::new(Bool_(l && r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:465:24
[INFO] [stdout]     |
[INFO] [stdout] 465 |             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 465 -             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout] 465 +             BinOp(LOR, Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 465 -             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout] 465 +             BinOp(LOR, deref!(Bool_(l)), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:465:38
[INFO] [stdout]     |
[INFO] [stdout] 465 |             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 465 -             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout] 465 +             BinOp(LOR, box Bool_(l), Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 465 -             BinOp(LOR, box Bool_(l), box Bool_(r) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout] 465 +             BinOp(LOR, box Bool_(l), deref!(Bool_(r)) )=> Ok(Box::new(Bool_(l || r))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:468:23
[INFO] [stdout]     |
[INFO] [stdout] 468 |             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 468 -             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 468 +             BinOp(EQ, Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 468 -             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 468 +             BinOp(EQ, deref!(Null), box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:468:33
[INFO] [stdout]     |
[INFO] [stdout] 468 |             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 468 -             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 468 +             BinOp(EQ, box Null, Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 468 -             BinOp(EQ, box Null, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 468 +             BinOp(EQ, box Null, deref!(Null) )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:469:26
[INFO] [stdout]     |
[INFO] [stdout] 469 |             BinOp(EQ, _, box Null )=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 469 -             BinOp(EQ, _, box Null )=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 469 +             BinOp(EQ, _, Null )=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 469 -             BinOp(EQ, _, box Null )=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 469 +             BinOp(EQ, _, deref!(Null) )=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:470:23
[INFO] [stdout]     |
[INFO] [stdout] 470 |             BinOp(EQ, box Null, _) => Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 470 -             BinOp(EQ, box Null, _) => Ok(Box::new(Bool_(false))),
[INFO] [stdout] 470 +             BinOp(EQ, Null, _) => Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 470 -             BinOp(EQ, box Null, _) => Ok(Box::new(Bool_(false))),
[INFO] [stdout] 470 +             BinOp(EQ, deref!(Null), _) => Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:471:23
[INFO] [stdout]     |
[INFO] [stdout] 471 |             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 471 -             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 471 +             BinOp(NE, Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 471 -             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 471 +             BinOp(NE, deref!(Null), box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:471:33
[INFO] [stdout]     |
[INFO] [stdout] 471 |             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 471 -             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 471 +             BinOp(NE, box Null, Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 471 -             BinOp(NE, box Null, box Null)=> Ok(Box::new(Bool_(false))),
[INFO] [stdout] 471 +             BinOp(NE, box Null, deref!(Null))=> Ok(Box::new(Bool_(false))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:472:26
[INFO] [stdout]     |
[INFO] [stdout] 472 |             BinOp(NE, _, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 472 -             BinOp(NE, _, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 472 +             BinOp(NE, _, Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 472 -             BinOp(NE, _, box Null )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout] 472 +             BinOp(NE, _, deref!(Null) )=> Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:473:23
[INFO] [stdout]     |
[INFO] [stdout] 473 |             BinOp(NE, box Null, _) => Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 473 -             BinOp(NE, box Null, _) => Ok(Box::new(Bool_(true))),
[INFO] [stdout] 473 +             BinOp(NE, Null, _) => Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 473 -             BinOp(NE, box Null, _) => Ok(Box::new(Bool_(true))),
[INFO] [stdout] 473 +             BinOp(NE, deref!(Null), _) => Ok(Box::new(Bool_(true))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::old_io`
[INFO] [stdout]  --> examples/interpreter/main.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::old_io::File;
[INFO] [stdout]   |          ^^^^^^ could not find `old_io` in `std`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Show` in this scope
[INFO] [stdout]   --> examples/interpreter/parser.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Show, Clone)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Show` in this scope
[INFO] [stdout]   --> examples/interpreter/parser.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Copy, Show)]
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Show` in module `fmt`
[INFO] [stdout]   --> examples/interpreter/parser.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl fmt::Show for BinOps {
[INFO] [stdout]    |           ^^^^ not found in `fmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `args` in module `os`
[INFO] [stdout]   --> examples/interpreter/main.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let a = os::args();
[INFO] [stdout]    |                 ^^^^ not found in `os`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  7 + use std::env::args;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `args`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 17 -     let a = os::args();
[INFO] [stdout] 17 +     let a = args();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Path` in this scope
[INFO] [stdout]   --> examples/interpreter/main.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let path = Path::new(a[1].clone());
[INFO] [stdout]    |                ^^^^ use of undeclared type `Path`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  7 + use std::path::Path;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> examples/interpreter/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_patterns)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `slicing_syntax` has been stable since `1.0.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `unstable`
[INFO] [stdout]  --> examples/interpreter/main.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![allow(unstable)]
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slicing_syntax` has been stable since 1.0.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> examples/interpreter/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(slicing_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/interpreter/parser.rs:339:50
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn op0<'a>(cs: &mut CharSeq) -> ParserResult<Box<Fn(AST, AST) -> AST + 'a>> {
[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] 339 | fn op0<'a>(cs: &mut CharSeq) -> ParserResult<Box<dyn Fn(AST, AST) -> AST + 'a>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/interpreter/parser.rs:350:50
[INFO] [stdout]     |
[INFO] [stdout] 350 | fn op1<'a>(cs: &mut CharSeq) -> ParserResult<Box<Fn(AST, AST) -> AST + 'a>> {
[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] 350 | fn op1<'a>(cs: &mut CharSeq) -> ParserResult<Box<dyn Fn(AST, AST) -> AST + 'a>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> examples/interpreter/parser.rs:366:50
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn op2<'a>(cs: &mut CharSeq) -> ParserResult<Box<Fn(AST, AST) -> AST + 'a>> {
[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] 366 | fn op2<'a>(cs: &mut CharSeq) -> ParserResult<Box<dyn Fn(AST, AST) -> AST + 'a>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `topdown-rs` (example "interpreter") due to 169 previous errors; 5 warnings emitted
[INFO] [stdout] error[E0425]: cannot find function `range` in this scope
[INFO] [stdout]    --> examples/interpreter/interpreter.rs:453:26
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 for i in range(0, r) {
[INFO] [stdout]     |                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0405, E0425, E0432, E0433, E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     term: &'a (Parser<T>+'a),
[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] 4 |     term: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 |     operator: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a),
[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] 5 |     operator: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a),
[INFO] [stdout]   |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parsers: &'a [&'a(Parser<T>+'a)]
[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] 4 |     parsers: &'a [&'a(dyn Parser<T>+'a)]
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a)
[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] 4 |     parser: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T> + 'a)
[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] 4 |     parser: &'a (dyn Parser<T> + 'a)
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cond: &'a (Parser<S> + 'a),
[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] 4 |     cond: &'a (dyn Parser<S> + 'a),
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<T> + 'a),
[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] 5 |     parser: &'a (dyn Parser<T> + 'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     parser: &'a (Parser<T>+'a),
[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] 4 |     parser: &'a (dyn Parser<T>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     delim: &'a (Parser<String>+'a),
[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] 5 |     delim: &'a (dyn Parser<String>+'a),
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser: &'a (Parser<S>+'a),
[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] 5 |     parser: &'a (dyn Parser<S>+'a),
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stop: &'a (Parser<T>+'a)
[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] 6 |     stop: &'a (dyn Parser<T>+'a)
[INFO] [stdout]   |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     hooks: Vec<&'a (ParserHook+'a)>,
[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] 47 |     hooks: Vec<&'a (dyn ParserHook+'a)>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainl.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     impl<'a> Parser<Box<Fn(isize, isize) -> isize + 'a>> for Op<'a> {
[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] 56 |     impl<'a> Parser<Box<dyn Fn(isize, isize) -> isize + 'a>> for Op<'a> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainr.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     impl<'a> Parser<Box<Fn(isize, isize) -> isize + 'a>> for Op<'a> {
[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] 49 |     impl<'a> Parser<Box<dyn Fn(isize, isize) -> isize + 'a>> for Op<'a> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainl.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, 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] 9 | pub fn chainl<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>>+'a), a: bool) -> Chainl<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (dyn Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:53
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (dyn Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/chainr.rs:9:64
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, 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] 9 | pub fn chainr<'a, T>(p: &'a (Parser<T>+'a), o: &'a (Parser<Box<dyn Fn(T, T) -> T + 'a>> + 'a), a: bool) -> Chainr<'a, T> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/choice.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn choice<'a, T>(p: &'a [&'a (Parser<T> + 'a)]) -> Choice<'a, 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] 7 | pub fn choice<'a, T>(p: &'a [&'a (dyn Parser<T> + 'a)]) -> Choice<'a, T> {
[INFO] [stdout]   |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/until.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn until<'a, T>(t:&'a (Parser<T>+'a)) -> Until<'a, 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] 7 | pub fn until<'a, T>(t:&'a (dyn Parser<T>+'a)) -> Until<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many<'a, T>(p: &'a (Parser<T> + 'a)) -> Many<'a, 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] 7 | pub fn many<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many<'a, T> {
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many1.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn many1<'a, T>(p: &'a (Parser<T> + 'a)) -> Many1<'a, 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] 7 | pub fn many1<'a, T>(p: &'a (dyn Parser<T> + 'a)) -> Many1<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/try.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn try<'a, T>(p: &'a(Parser<T>+'a)) -> Try<'a, 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] 7 | pub fn try<'a, T>(p: &'a(dyn Parser<T>+'a)) -> Try<'a, T> {
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (dyn Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/cond.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (Parser<T> + 'a), e: T) -> Cond<'a, S, 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] 9 | pub fn cond<'a, S, T:Clone>(c: &'a (Parser<S> + 'a), p: &'a (dyn Parser<T> + 'a), e: T) -> Cond<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/opt.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn opt<'a, T:Clone>(p:&'a (Parser<T>+'a), d: T) -> Opt<'a, 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] 8 | pub fn opt<'a, T:Clone>(p:&'a (dyn Parser<T>+'a), d: T) -> Opt<'a, T> {
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (dyn Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/split.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (Parser<String> + 'a), a: bool) -> Split<'a, 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] 9 | pub fn split<'a, T>(p: &'a (Parser<T> + 'a), d: &'a (dyn Parser<String> + 'a), a: bool) -> Split<'a, T> {
[INFO] [stdout]   |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (dyn Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/many_until.rs:9:62
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (Parser<T> + 'a)) -> ManyUntil<'a, S, 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] 9 | pub fn many_until<'a, S, T>(p: &'a (Parser<S> + 'a), s: &'a (dyn Parser<T> + 'a)) -> ManyUntil<'a, S, T> {
[INFO] [stdout]   |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainl.rs:57:64
[INFO] [stdout]    |
[INFO] [stdout] 57 |         fn _parse(&self, cs: &mut CharSeq) -> ParserResult<Box<Fn(isize, isize) -> isize + 'a>> {
[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] 57 |         fn _parse(&self, cs: &mut CharSeq) -> ParserResult<Box<dyn Fn(isize, isize) -> isize + 'a>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainr.rs:50:64
[INFO] [stdout]    |
[INFO] [stdout] 50 |         fn _parse(&self, cs: &mut CharSeq) -> ParserResult<Box<Fn(isize, isize) -> isize + 'a>> {
[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] 50 |         fn _parse(&self, cs: &mut CharSeq) -> ParserResult<Box<dyn Fn(isize, isize) -> isize + 'a>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:178:43
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn add_hook(&mut self, hook: &'a (ParserHook+'a)) {
[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] 178 |     pub fn add_hook(&mut self, hook: &'a (dyn ParserHook+'a)) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:195:37
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn accept<T>(&mut self, p: &Parser<T>) -> ParserResult<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] 195 |     pub fn accept<T>(&mut self, p: &dyn Parser<T>) -> ParserResult<T> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: lifetime parameter `'a` is never used
[INFO] [stdout]   --> src/chainl.rs:54:15
[INFO] [stdout]    |
[INFO] [stdout] 54 |     struct Op<'a>;
[INFO] [stdout]    |               ^^ unused lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: lifetime parameter `'a` is never used
[INFO] [stdout]   --> src/chainr.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     struct Op<'a>;
[INFO] [stdout]    |               ^^ unused lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/re.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 assert_eq!(c[0].as_slice(), "int");
[INFO] [stdout]    |                                 ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/re.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 assert_eq!(c[1].as_slice(), "x");
[INFO] [stdout]    |                                 ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/re.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 assert_eq!(c[2].as_slice(), "10");
[INFO] [stdout]    |                                 ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainl.rs:61:75
[INFO] [stdout]    |
[INFO] [stdout] 61 |                         return (Box::new(|a:isize, b:isize|  a+b)) as Box<Fn(isize, isize) -> isize + 'a>;
[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] 61 |                         return (Box::new(|a:isize, b:isize|  a+b)) as Box<dyn Fn(isize, isize) -> isize + 'a>;
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainl.rs:63:75
[INFO] [stdout]    |
[INFO] [stdout] 63 |                         return (Box::new(|a:isize, b:isize|  a-b)) as Box<Fn(isize, isize) -> isize + 'a>;
[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] 63 |                         return (Box::new(|a:isize, b:isize|  a-b)) as Box<dyn Fn(isize, isize) -> isize + 'a>;
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/chainl.rs:73:60
[INFO] [stdout]    |
[INFO] [stdout] 73 |             return cs.accept(&re("[1-9][0-9]*")).map(|x| x.as_slice().parse().unwrap());
[INFO] [stdout]    |                                                            ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainr.rs:54:80
[INFO] [stdout]    |
[INFO] [stdout] 54 | ...                   return (Box::new(|a:isize, b:isize|  a+b)) as Box<Fn(isize, isize) -> isize + 'a>;
[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] 54 |                              return (Box::new(|a:isize, b:isize|  a+b)) as Box<dyn Fn(isize, isize) -> isize + 'a>;
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/chainr.rs:56:80
[INFO] [stdout]    |
[INFO] [stdout] 56 | ...                   return (Box::new(|a:isize, b:isize|  a-b)) as Box<Fn(isize, isize) -> isize + 'a>;
[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] 56 |                              return (Box::new(|a:isize, b:isize|  a-b)) as Box<dyn Fn(isize, isize) -> isize + 'a>;
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/chainr.rs:66:60
[INFO] [stdout]    |
[INFO] [stdout] 66 |             return cs.accept(&re("[1-9][0-9]*")).map(|x| x.as_slice().parse().unwrap());
[INFO] [stdout]    |                                                            ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choice.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let l: &[&Parser<String>] = &[&("abc"), &("def")];
[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] 51 |         let l: &[&dyn Parser<String>] = &[&("abc"), &("def")];
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/choice.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Succ(c) => assert!(c.as_slice() == "abc"),
[INFO] [stdout]    |                                  ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choice.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let l: &[&Parser<String>] = &[&("ghi"), &("def")];
[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] 63 |         let l: &[&dyn Parser<String>] = &[&("ghi"), &("def")];
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choice.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let l: &[&Parser<String>] = &[&a, &b];
[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] 77 |         let l: &[&dyn Parser<String>] = &[&a, &b];
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope
[INFO] [stdout]   --> src/many1.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     x.push_str(i.as_slice());
[INFO] [stdout]    |                                  ^^^^^^^^ method not found in `&String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/skip.rs:46:37
[INFO] [stdout]    |
[INFO] [stdout] 46 |             Succ(r) => assert_eq!(r.as_slice(), "a"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/skip.rs:51:37
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Succ(r) => assert_eq!(r.as_slice(), "b"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/skip.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |             Succ(r) => assert_eq!(r.as_slice(), "c"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/skip.rs:61:37
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Succ(r) => assert_eq!(r.as_slice(), "d"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/cond.rs:39:37
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Succ(r) => assert_eq!(r.as_slice(), "b"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/cond.rs:51:37
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Succ(r) => assert_eq!(r.as_slice(), "default"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/opt.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 |             Succ(c) => assert!(c.as_slice() == "abc"),
[INFO] [stdout]    |                                  ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/opt.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |             Succ(c) => assert!(c.as_slice() == "opt"),
[INFO] [stdout]    |                                  ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope
[INFO] [stdout]   --> src/wrapper.rs:61:37
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Succ(x) => assert_eq!(x.as_slice(), "xxx"),
[INFO] [stdout]    |                                     ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0392, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0392`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `topdown-rs` (lib test) due to 18 previous errors; 50 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f", kill_on_drop: false }`
[INFO] [stdout] 57c7081ecbfde4abc5e761366a7a575eec6a2255e683ae92d9ebb6012f0ae75f
