[INFO] cloning repository https://github.com/shahuwang/Rustparse
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shahuwang/Rustparse" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshahuwang%2FRustparse", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshahuwang%2FRustparse'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bb31d897e59dd4d4e70c3edb04f20e68c04cb846
[INFO] checking shahuwang/Rustparse against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshahuwang%2FRustparse" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shahuwang/Rustparse
[INFO] finished tweaking git repo https://github.com/shahuwang/Rustparse
[INFO] tweaked toml for git repo https://github.com/shahuwang/Rustparse written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shahuwang/Rustparse on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shahuwang/Rustparse already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lazy_static v0.1.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e20788e8b874919110e41a2573f3a8877764c2fa13a226d748843cf93eb43db
[INFO] running `Command { std: "docker" "start" "-a" "9e20788e8b874919110e41a2573f3a8877764c2fa13a226d748843cf93eb43db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e20788e8b874919110e41a2573f3a8877764c2fa13a226d748843cf93eb43db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e20788e8b874919110e41a2573f3a8877764c2fa13a226d748843cf93eb43db", kill_on_drop: false }`
[INFO] [stdout] 9e20788e8b874919110e41a2573f3a8877764c2fa13a226d748843cf93eb43db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 427ca508b78ce451b5b4bce58116c5f2bdf903248c0d4d10e146dce04c82b335
[INFO] running `Command { std: "docker" "start" "-a" "427ca508b78ce451b5b4bce58116c5f2bdf903248c0d4d10e146dce04c82b335", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking lazy_static v0.1.15
[INFO] [stderr]     Checking parse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/parse/node.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/parse/node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/parse/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/parse/node.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `posTrait` should have an upper camel case name
[INFO] [stdout]  --> src/parse/node.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait posTrait{
[INFO] [stdout]   |       ^^^^^^^^ help: convert the identifier to upper camel case: `PosTrait`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::lex::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use parse::lex::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::parse::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use parse::parse::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::node::*`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parse::node::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parse/node.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = 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] 40 | fn match_node<U, F:Fn(dyn Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/parse/node.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/parse/node.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/parse/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/parse/node.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `posTrait` should have an upper camel case name
[INFO] [stdout]  --> src/parse/node.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait posTrait{
[INFO] [stdout]   |       ^^^^^^^^ help: convert the identifier to upper camel case: `PosTrait`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::lex::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use parse::lex::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::parse::*`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use parse::parse::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse::node::*`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parse::node::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn node::Node + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/parse/node.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `((dyn node::Node + 'static),)`, the trait `Sized` is not implemented for `(dyn node::Node + 'static)`
[INFO] [stdout]    = note: required because it appears within the type `((dyn node::Node + 'static),)`
[INFO] [stdout] note: required by an implicit `Sized` bound in `Fn`
[INFO] [stdout]   --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/core/src/ops/function.rs:76:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parse/node.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = 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] 40 | fn match_node<U, F:Fn(dyn Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:308:49
[INFO] [stdout]     |
[INFO] [stdout] 308 |     fn scan(&self, l: &mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 308 |     fn scan(&self, l: &mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:303:49
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn scan(&self, l: &mut Lexer) -> Option<Box<StateFn>>;
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 303 |     fn scan(&self, l: &mut Lexer) -> Option<Box<dyn StateFn>>;
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 333 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:347:46
[INFO] [stdout]     |
[INFO] [stdout] 347 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 347 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:356:46
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 356 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:384:46
[INFO] [stdout]     |
[INFO] [stdout] 384 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 384 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:407:46
[INFO] [stdout]     |
[INFO] [stdout] 407 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 407 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:497:48
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 497 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn node::Node + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/parse/node.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `((dyn node::Node + 'static),)`, the trait `Sized` is not implemented for `(dyn node::Node + 'static)`
[INFO] [stdout]    = note: required because it appears within the type `((dyn node::Node + 'static),)`
[INFO] [stdout] note: required by an implicit `Sized` bound in `Fn`
[INFO] [stdout]   --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/core/src/ops/function.rs:76:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:533:48
[INFO] [stdout]     |
[INFO] [stdout] 533 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 533 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:552:48
[INFO] [stdout]     |
[INFO] [stdout] 552 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 552 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:562:48
[INFO] [stdout]     |
[INFO] [stdout] 562 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 562 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:596:48
[INFO] [stdout]     |
[INFO] [stdout] 596 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 596 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:601:72
[INFO] [stdout]     |
[INFO] [stdout] 601 | fn state_field_or_variable(l: &mut Lexer, typ: ItemType) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 601 | fn state_field_or_variable(l: &mut Lexer, typ: ItemType) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:629:48
[INFO] [stdout]     |
[INFO] [stdout] 629 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 629 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:659:48
[INFO] [stdout]     |
[INFO] [stdout] 659 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 659 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:308:49
[INFO] [stdout]     |
[INFO] [stdout] 308 |     fn scan(&self, l: &mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 308 |     fn scan(&self, l: &mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:303:49
[INFO] [stdout]     |
[INFO] [stdout] 303 |     fn scan(&self, l: &mut Lexer) -> Option<Box<StateFn>>;
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 303 |     fn scan(&self, l: &mut Lexer) -> Option<Box<dyn StateFn>>;
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:333:46
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 333 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:347:46
[INFO] [stdout]     |
[INFO] [stdout] 347 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 347 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:356:46
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 356 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:384:46
[INFO] [stdout]     |
[INFO] [stdout] 384 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 384 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:407:46
[INFO] [stdout]     |
[INFO] [stdout] 407 |     fn scan(&self, l:&mut Lexer)->Option<Box<StateFn>>{
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 407 |     fn scan(&self, l:&mut Lexer)->Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:497:48
[INFO] [stdout]     |
[INFO] [stdout] 497 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 497 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:533:48
[INFO] [stdout]     |
[INFO] [stdout] 533 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 533 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:552:48
[INFO] [stdout]     |
[INFO] [stdout] 552 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 552 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:562:48
[INFO] [stdout]     |
[INFO] [stdout] 562 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 562 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn node::Node + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/parse/node.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                            ^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `((dyn node::Node + 'static),)`, the trait `Sized` is not implemented for `(dyn node::Node + 'static)`
[INFO] [stdout]    = note: required because it appears within the type `((dyn node::Node + 'static),)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:596:48
[INFO] [stdout]     |
[INFO] [stdout] 596 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 596 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:601:72
[INFO] [stdout]     |
[INFO] [stdout] 601 | fn state_field_or_variable(l: &mut Lexer, typ: ItemType) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 601 | fn state_field_or_variable(l: &mut Lexer, typ: ItemType) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:629:48
[INFO] [stdout]     |
[INFO] [stdout] 629 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 629 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:659:48
[INFO] [stdout]     |
[INFO] [stdout] 659 |     fn scan(&self, l:&mut Lexer) -> Option<Box<StateFn>>{
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 659 |     fn scan(&self, l:&mut Lexer) -> Option<Box<dyn StateFn>>{
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn node::Node + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/parse/node.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                            ^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `((dyn node::Node + 'static),)`, the trait `Sized` is not implemented for `(dyn node::Node + 'static)`
[INFO] [stdout]    = note: required because it appears within the type `((dyn node::Node + 'static),)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                            - ^ expected `dyn Node`, found `&ListNode`
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected trait object `(dyn node::Node + 'static)`
[INFO] [stdout]                  found reference `&node::ListNode`
[INFO] [stdout] note: callable defined here
[INFO] [stdout]   --> src/parse/node.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |               - found this type parameter
[INFO] [stdout] 41 |     match node{
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                       ---- ^^^^ expected `String`, found type parameter `U`
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note:      expected struct `String`
[INFO] [stdout]            found type parameter `U`
[INFO] [stdout] help: the type constructed contains `U` due to the type of the argument passed
[INFO] [stdout]   --> src/parse/node.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                       ^^^^^----^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/core/src/option.rs:607:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parse/node.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&Node|->String{
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&dyn Node|->String{
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in closure arguments
[INFO] [stdout]   --> src/parse/node.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&Node|->String{
[INFO] [stdout]    |                     ----------------- found signature defined here
[INFO] [stdout] ...
[INFO] [stdout] 70 |             match_node(n, f);
[INFO] [stdout]    |             ----------    ^ expected due to this
[INFO] [stdout]    |             |
[INFO] [stdout]    |             required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected closure signature `fn((dyn node::Node + 'static)) -> _`
[INFO] [stdout]               found closure signature `fn(&dyn node::Node) -> _`
[INFO] [stdout] note: required by a bound in `match_node`
[INFO] [stdout]   --> src/parse/node.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                                ^ required by this bound in `match_node`
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]    |
[INFO] [stdout] 70 |             match_node(n, |arg0: (dyn node::Node + 'static)| f(&arg0));
[INFO] [stdout]    |                           ++++++++++++++++++++++++++++++++++  +++++++
[INFO] [stdout] help: consider adjusting the signature so it does not borrow its argument
[INFO] [stdout]    |
[INFO] [stdout] 67 -             let f = |n:&Node|->String{
[INFO] [stdout] 67 +             let f = |n:Node|->String{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                            - ^ expected `dyn Node`, found `&ListNode`
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected trait object `(dyn node::Node + 'static)`
[INFO] [stdout]                  found reference `&node::ListNode`
[INFO] [stdout] note: callable defined here
[INFO] [stdout]   --> src/parse/node.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |               - found this type parameter
[INFO] [stdout] 41 |     match node{
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                       ---- ^^^^ expected `String`, found type parameter `U`
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note:      expected struct `String`
[INFO] [stdout]            found type parameter `U`
[INFO] [stdout] help: the type constructed contains `U` due to the type of the argument passed
[INFO] [stdout]   --> src/parse/node.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &NodeType::EnumList(ref n) => Some(f(n)),
[INFO] [stdout]    |                                       ^^^^^----^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/core/src/option.rs:607:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Box::new(NodeType::EnumList(&self.copy_list()))
[INFO] [stdout]    |                  ------------------ ^^^^^^^^^^^^^^^^^ expected `ListNode`, found `&Box<ListNode>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `node::ListNode`
[INFO] [stdout]            found reference `&Box<node::ListNode>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/parse/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     EnumList(ListNode),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parse/node.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&Node|->String{
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&dyn Node|->String{
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in closure arguments
[INFO] [stdout]   --> src/parse/node.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let f = |n:&Node|->String{
[INFO] [stdout]    |                     ----------------- found signature defined here
[INFO] [stdout] ...
[INFO] [stdout] 70 |             match_node(n, f);
[INFO] [stdout]    |             ----------    ^ expected due to this
[INFO] [stdout]    |             |
[INFO] [stdout]    |             required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected closure signature `fn((dyn node::Node + 'static)) -> _`
[INFO] [stdout]               found closure signature `fn(&dyn node::Node) -> _`
[INFO] [stdout] note: required by a bound in `match_node`
[INFO] [stdout]   --> src/parse/node.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn match_node<U, F:Fn(Node) -> U>(node: &NodeType, f:F) -> Option<String>{
[INFO] [stdout]    |                                ^ required by this bound in `match_node`
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]    |
[INFO] [stdout] 70 |             match_node(n, |arg0: (dyn node::Node + 'static)| f(&arg0));
[INFO] [stdout]    |                           ++++++++++++++++++++++++++++++++++  +++++++
[INFO] [stdout] help: consider adjusting the signature so it does not borrow its argument
[INFO] [stdout]    |
[INFO] [stdout] 67 -             let f = |n:&Node|->String{
[INFO] [stdout] 67 +             let f = |n:Node|->String{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/node.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Box::new(NodeType::EnumList(&self.copy_list()))
[INFO] [stdout]    |                  ------------------ ^^^^^^^^^^^^^^^^^ expected `ListNode`, found `&Box<ListNode>`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `node::ListNode`
[INFO] [stdout]            found reference `&Box<node::ListNode>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/parse/node.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     EnumList(ListNode),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:259:27
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut state:Box<StateFn>;
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 259 |         let mut state:Box<dyn StateFn>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parse/lex.rs:259:27
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut state:Box<StateFn>;
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 259 |         let mut state:Box<dyn StateFn>;
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/parse.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |             root: self.root.copy(),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ expected `Box<ListNode>`, found `Box<NodeType>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<node::ListNode>`
[INFO] [stdout]               found struct `Box<NodeType>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parse/parse.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |             root: self.root.copy(),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^ expected `Box<ListNode>`, found `Box<NodeType>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Box<node::ListNode>`
[INFO] [stdout]               found struct `Box<NodeType>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/node.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ln:Box<ListNode> = ListNode::new(self.tr.clone(), self.pos);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/node.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ln:Box<ListNode> = ListNode::new(self.tr.clone(), self.pos);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parse/node.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for n in &self.nodes{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/parse/node.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for n in &self.nodes{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0631.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0631.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parse` (bin "parse" test) due to 7 previous errors; 29 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `parse` (bin "parse") due to 7 previous errors; 29 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "427ca508b78ce451b5b4bce58116c5f2bdf903248c0d4d10e146dce04c82b335", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "427ca508b78ce451b5b4bce58116c5f2bdf903248c0d4d10e146dce04c82b335", kill_on_drop: false }`
[INFO] [stdout] 427ca508b78ce451b5b4bce58116c5f2bdf903248c0d4d10e146dce04c82b335
