[INFO] fetching crate scdlang 0.2.1...
[INFO] testing scdlang-0.2.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate scdlang 0.2.1 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate scdlang 0.2.1
[INFO] finished tweaking crates.io crate scdlang 0.2.1
[INFO] tweaked toml for crates.io crate scdlang 0.2.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate scdlang 0.2.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 21 packages to highest compatible versions
[INFO] [stderr]       Adding psm v0.1.24 (available: v0.1.32)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pest_meta v2.9.4
[INFO] [stderr]   Downloaded pest_derive v2.9.4
[INFO] [stderr]   Downloaded pest_generator v2.9.4
[INFO] [stderr]   Downloaded pest v2.9.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf
[INFO] running `Command { std: "docker" "start" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", 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" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", 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" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling psm v0.1.24
[INFO] [stderr]    Compiling stacker v0.1.25
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]    Compiling cfg-if v1.0.5
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling either v1.19.0
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling pest v2.9.4
[INFO] [stderr]    Compiling pest_meta v2.9.4
[INFO] [stderr]    Compiling pest_generator v2.9.4
[INFO] [stderr]    Compiling pest_derive v2.9.4
[INFO] [stderr]    Compiling scdlang v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Error as ScdlError` and `PestError`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |         error::{Error as ScdlError, PestError},
[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 imports: `error::ErrorVariant` and `iterators::Pair`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub use pest::{error::ErrorVariant, iterators::Pair, Span};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub use std::convert::TryInto;
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&Any/*👈TBD*/> {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&dyn Any/*👈TBD*/> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&Any /*👈TBD*/>;
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&dyn Any /*👈TBD*/>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this item cannot be used as its where bounds are not satisfied for the `Self` type
[INFO] [stdout]   --> src/semantics/transition/iter.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     fn from_iter<T>(_transition: T) -> Self
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         T: IntoIterator<Item = Transition<'i>>,
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<Rule>, RuleError> {
[INFO] [stdout]    |                      ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<'_, Rule>, RuleError> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind>, Error> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind<'_>>, Error> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name;
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:36:16
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name;
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name {
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name {
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name> {
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name<'_>> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/helper.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair) -> &str {
[INFO] [stdout]    |                          ^^^^^^^^^     ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair<'_>) -> &str {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 10.10s
[INFO] running `Command { std: "docker" "inspect" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", 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" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling scdlang v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Error as ScdlError` and `PestError`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |         error::{Error as ScdlError, PestError},
[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 imports: `error::ErrorVariant` and `iterators::Pair`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub use pest::{error::ErrorVariant, iterators::Pair, Span};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub use std::convert::TryInto;
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&Any/*👈TBD*/> {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&dyn Any/*👈TBD*/> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&Any /*👈TBD*/>;
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&dyn Any /*👈TBD*/>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this item cannot be used as its where bounds are not satisfied for the `Self` type
[INFO] [stdout]   --> src/semantics/transition/iter.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     fn from_iter<T>(_transition: T) -> Self
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         T: IntoIterator<Item = Transition<'i>>,
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<Rule>, RuleError> {
[INFO] [stdout]    |                      ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<'_, Rule>, RuleError> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind>, Error> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind<'_>>, Error> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name;
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:36:16
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name;
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name {
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name {
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name> {
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name<'_>> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/helper.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair) -> &str {
[INFO] [stdout]    |                          ^^^^^^^^^     ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair<'_>) -> &str {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error as ScdlError` and `PestError`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |         error::{Error as ScdlError, PestError},
[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 imports: `error::ErrorVariant` and `iterators::Pair`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub use pest::{error::ErrorVariant, iterators::Pair, Span};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/semantics/transition/helper.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub use std::convert::TryInto;
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&Any/*👈TBD*/> {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn action(&self) -> Option<&dyn Any/*👈TBD*/> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/semantics/kind.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&Any /*👈TBD*/>;
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn action(&self) -> Option<&dyn Any /*👈TBD*/>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this item cannot be used as its where bounds are not satisfied for the `Self` type
[INFO] [stdout]   --> src/semantics/transition/iter.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     fn from_iter<T>(_transition: T) -> Self
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         T: IntoIterator<Item = Transition<'i>>,
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<Rule>, RuleError> {
[INFO] [stdout]    |                      ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn parse(source: &str) -> Result<Pairs<'_, Rule>, RuleError> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<Rule>, Error> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/parser.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind>, Error> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind<'_>>, Error> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name;
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn current_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:36:16
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name;
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn next_state(&self) -> Name<'_>;
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn state(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/kind.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name>;
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name {
[INFO] [stdout]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn current_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name {
[INFO] [stdout]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn next_state(&self) -> Name<'_> {
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name> {
[INFO] [stdout]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |              |
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn event(&self) -> Option<Name<'_>> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/semantics/transition/helper.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair) -> &str {
[INFO] [stdout]    |                          ^^^^^^^^^     ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn trigger(pair: TokenPair<'_>) -> &str {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3.65s
[INFO] running `Command { std: "docker" "inspect" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", 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" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Error as ScdlError` and `PestError`
[INFO] [stderr]  --> src/semantics/transition/helper.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 |         error::{Error as ScdlError, PestError},
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error::ErrorVariant` and `iterators::Pair`
[INFO] [stderr]  --> src/semantics/transition/helper.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub use pest::{error::ErrorVariant, iterators::Pair, Span};
[INFO] [stderr]   |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]  --> src/semantics/transition/helper.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub use std::convert::TryInto;
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/semantics/kind.rs:39:30
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn action(&self) -> Option<&Any/*👈TBD*/> {
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn action(&self) -> Option<&dyn Any/*👈TBD*/> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/semantics/kind.rs:70:30
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn action(&self) -> Option<&Any /*👈TBD*/>;
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn action(&self) -> Option<&dyn Any /*👈TBD*/>;
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: this item cannot be used as its where bounds are not satisfied for the `Self` type
[INFO] [stderr]   --> src/semantics/transition/iter.rs:61:2
[INFO] [stderr]    |
[INFO] [stderr] 61 | /     fn from_iter<T>(_transition: T) -> Self
[INFO] [stderr] 62 | |     where
[INFO] [stderr] 63 | |         T: IntoIterator<Item = Transition<'i>>,
[INFO] [stderr]    | |_______________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/parser.rs:17:22
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn parse(source: &str) -> Result<Pairs<Rule>, RuleError> {
[INFO] [stderr]    |                      ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn parse(source: &str) -> Result<Pairs<'_, Rule>, RuleError> {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/parser.rs:23:15
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<Rule>, Error> {
[INFO] [stderr]    |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn parse(&self, source: &'g str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stderr]    |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/parser.rs:28:28
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<Rule>, Error> {
[INFO] [stderr]    |                               ^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                               |
[INFO] [stderr]    |                               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn parse_from(source: &str) -> Result<Pairs<'_, Rule>, Error> {
[INFO] [stderr]    |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/parser.rs:34:19
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind>, Error> {
[INFO] [stderr]    |                      ^^^^^ the lifetime is elided here     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind<'_>>, Error> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/kind.rs:35:19
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn current_state(&self) -> Name;
[INFO] [stderr]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn current_state(&self) -> Name<'_>;
[INFO] [stderr]    |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/kind.rs:36:16
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn next_state(&self) -> Name;
[INFO] [stderr]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn next_state(&self) -> Name<'_>;
[INFO] [stderr]    |                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/kind.rs:37:11
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn event(&self) -> Option<Name>;
[INFO] [stderr]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |              |
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stderr]    |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/kind.rs:69:11
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn state(&self) -> Option<Name>;
[INFO] [stderr]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |              |
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn state(&self) -> Option<Name<'_>>;
[INFO] [stderr]    |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/kind.rs:71:11
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn event(&self) -> Option<Name>;
[INFO] [stderr]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |              |
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn event(&self) -> Option<Name<'_>>;
[INFO] [stderr]    |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/transition/mod.rs:13:19
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn current_state(&self) -> Name {
[INFO] [stderr]    |                      ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn current_state(&self) -> Name<'_> {
[INFO] [stderr]    |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/transition/mod.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn next_state(&self) -> Name {
[INFO] [stderr]    |                   ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn next_state(&self) -> Name<'_> {
[INFO] [stderr]    |                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/transition/mod.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn event(&self) -> Option<Name> {
[INFO] [stderr]    |              ^^^^^            ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |              |
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn event(&self) -> Option<Name<'_>> {
[INFO] [stderr]    |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/semantics/transition/helper.rs:42:23
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn trigger(pair: TokenPair) -> &str {
[INFO] [stderr]    |                          ^^^^^^^^^     ^^^^ the same lifetime is elided here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn trigger(pair: TokenPair<'_>) -> &str {
[INFO] [stderr]    |                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `scdlang` (lib) generated 19 warnings (run `cargo fix --lib -p scdlang` to apply 18 suggestions)
[INFO] [stderr] warning: `scdlang` (lib test) generated 19 warnings (19 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/scdlang-40bd328d5575ec90)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test core::test::transition_to ... ok
[INFO] [stdout] test core::test::trigger_at ... ok
[INFO] [stdout] test core::test::loop_from ... ok
[INFO] [stdout] test core::test::should_fail_when::use_wrong_symbol ... ok
[INFO] [stdout] test semantics::transition::pair::normal_transition ... ok
[INFO] [stdout] test semantics::transition::pair::semantics_error::ambigous_transition::transient_transition_before_trigger ... ok
[INFO] [stdout] test core::test::toggle_transition ... ok
[INFO] [stdout] test core::test::transition_from ... ok
[INFO] [stdout] test core::test::self_transition ... ok
[INFO] [stdout] test core::test::transient_loop_to ... ok
[INFO] [stdout] test semantics::transition::pair::fix_issues::indirect_loop_transition ... ok
[INFO] [stdout] test semantics::transition::pair::loop_transition ... ok
[INFO] [stdout] test semantics::transition::pair::semantics_error::ambigous_transition::transient_transition_after_trigger ... ok
[INFO] [stdout] test core::test::transient_loop_from ... ok
[INFO] [stdout] test error::variant::syntax_error ... ok
[INFO] [stdout] test semantics::transition::pair::transient_loop_transition ... ok
[INFO] [stdout] test semantics::transition::pair::semantics_error::duplicate_transition_with_same_trigger ... ok
[INFO] [stdout] test semantics::transition::pair::toggle_transition ... ok
[INFO] [stdout] test semantics::transition::pair::semantics_error::duplicate_transient_transition ... ok
[INFO] [stderr]    Doc-tests scdlang
[INFO] [stdout] test core::test::loop_to ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/core/builder.rs - core::builder::Scdlang (line 9) ... ignored
[INFO] [stdout] test src/external.rs - external (line 44) ... ignored
[INFO] [stdout] test src/lib.rs - grammar (line 23) ... ignored
[INFO] [stdout] test src/core/parser.rs - core::parser::parse (line 13) ... FAILED
[INFO] [stdout] test src/external.rs - external (line 7) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/core/parser.rs - core::parser::parse (line 13) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]   --> src/core/parser.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | let token_pairs = parse("A -> B")?;
[INFO] [stdout]    |                   ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: use the `.` operator to call the method `parse` on `&str`
[INFO] [stdout]    |
[INFO] [stdout] 14 - let token_pairs = parse("A -> B")?;
[INFO] [stdout] 14 + let token_pairs = "A -> B".parse()?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: cannot find function `println` in this scope
[INFO] [stdout]   --> src/core/parser.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | println("{:#?}", token_pairs);
[INFO] [stdout]    | ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout]    = note: a macro named `println` exists in another namespace
[INFO] [stdout] help: use `!` to invoke the macro
[INFO] [stdout]    |
[INFO] [stdout] 15 | println!("{:#?}", token_pairs);
[INFO] [stdout]    |        +
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/external.rs - external (line 7) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Scdlang` in this scope
[INFO] [stdout]   --> src/external.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     builder: Scdlang<'a>, // or any type that implmenet trait `Builder`
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Parser` in this scope
[INFO] [stdout]   --> src/external.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a> Parser<'a> for Machine<'a> {
[INFO] [stdout]    |          ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Builder` in this scope
[INFO] [stdout]   --> src/external.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn configure(&mut self) -> &mut Builder<'a> {
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  7 + use std::thread::Builder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `DynError` in this scope
[INFO] [stdout]   --> src/external.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn parse(&mut self, source: &str) -> Result<(), DynError> {
[INFO] [stdout]    |                                                     ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a, DynError> Parser<'a> for Machine<'a> {
[INFO] [stdout]    |        ++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `error` in this scope
[INFO] [stdout]   --> src/external.rs:33:65
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn insert_parse(&mut self, source: &str) -> Result<(), Box<dyn error::Error>> {
[INFO] [stdout]    |                                                                    ^^^^^ use of unresolved module or unlinked crate `error`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/error/mod.rs, use `mod error` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout]  7 + mod error;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout]  7 + use std::error;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Scdlang` in this scope
[INFO] [stdout]   --> src/external.rs:37:38
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn try_parse(source: &str, builder: Scdlang<'a>) -> Result<Self, Box<dyn error::Error>> {
[INFO] [stdout]    |                                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `error` in this scope
[INFO] [stdout]   --> src/external.rs:37:75
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn try_parse(source: &str, builder: Scdlang<'a>) -> Result<Self, Box<dyn error::Error>> {
[INFO] [stdout]    |                                                                              ^^^^^ use of unresolved module or unlinked crate `error`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/error/mod.rs, use `mod error` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]  7 + mod error;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout]  7 + use std::error;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/external.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |     schema: std::any::Any,
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     schema: dyn std::any::Any,
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn Any + 'static)` cannot be known at compilation time
[INFO] [stdout]  --> src/external.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Default)]
[INFO] [stdout]   |          ------- in this derive macro expansion
[INFO] [stdout] 9 | pub struct Machine<'a> {
[INFO] [stdout]   |            ^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]   |
[INFO] [stdout]   = help: within `Machine<'a>`, the trait `Sized` is not implemented for `(dyn Any + 'static)`
[INFO] [stdout] note: required because it appears within the type `Machine<'a>`
[INFO] [stdout]  --> src/external.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Machine<'a> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] note: required by a bound in `Default`
[INFO] [stdout]  --> /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/default.rs:107:0
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Scdlang` in this scope
[INFO] [stdout]   --> src/external.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let mut builder = Scdlang::new();
[INFO] [stdout]    |                           ^^^^^^^ use of undeclared type `Scdlang`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0405, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/core/parser.rs - core::parser::parse (line 13)
[INFO] [stdout]     src/external.rs - external (line 7)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf", kill_on_drop: false }`
[INFO] [stdout] 4432060670b5a5158db46db83bdaa8b890b0e5d0a355543a185af890e56e3adf
