[INFO] fetching crate nailgun 0.1.0...
[INFO] testing nailgun-0.1.0 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate nailgun 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate nailgun 0.1.0
[INFO] finished tweaking crates.io crate nailgun 0.1.0
[INFO] tweaked toml for crates.io crate nailgun 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nailgun 0.1.0 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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" "+beta-2025-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a0e7f7e4413570b4587be25e3a596e558940479ab3cb60ca901d182bf92a09a
[INFO] running `Command { std: "docker" "start" "-a" "6a0e7f7e4413570b4587be25e3a596e558940479ab3cb60ca901d182bf92a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a0e7f7e4413570b4587be25e3a596e558940479ab3cb60ca901d182bf92a09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a0e7f7e4413570b4587be25e3a596e558940479ab3cb60ca901d182bf92a09a", kill_on_drop: false }`
[INFO] [stdout] 6a0e7f7e4413570b4587be25e3a596e558940479ab3cb60ca901d182bf92a09a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef80b6a911c8fbe5e55e3a6626b8e15e24eba42d865a39914a13ebf82a5a0b8a
[INFO] running `Command { std: "docker" "start" "-a" "ef80b6a911c8fbe5e55e3a6626b8e15e24eba42d865a39914a13ebf82a5a0b8a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling nailgun v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::and::And`
[INFO] [stdout]   --> inlined_parser.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |   pub use self::and::And;
[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: `Result`
[INFO] [stdout]   --> inlined_parser.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     use std::fmt::{Result};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> inlined_parser.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         try!( write!( formatter, " " ) )
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> inlined_parser.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | #![deny(deprecated)]
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         try!( indent( formatter, indent_spaces ) );
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!( write!( formatter,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 try!( writeln!( formatter,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 try!( writeln!( formatter,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             try!( writeln!( formatter, "" ) );
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> inlined_parser.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |               try!( child.format( formatter, indent_spaces + 1) )
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `and`
[INFO] [stdout]    --> inlined_parser.rs:400:18
[INFO] [stdout]     |
[INFO] [stdout] 400 |     macro_rules! and( ( $ex:expr ) => ( &base::And::new( $ex ) ); );
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:374:19
[INFO] [stdout]     |
[INFO] [stdout] 374 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 374 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:403:19
[INFO] [stdout]     |
[INFO] [stdout] 403 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 403 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:454:19
[INFO] [stdout]     |
[INFO] [stdout] 454 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 454 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:480:19
[INFO] [stdout]     |
[INFO] [stdout] 480 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 480 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:515:19
[INFO] [stdout]     |
[INFO] [stdout] 515 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 515 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:558:24
[INFO] [stdout]     |
[INFO] [stdout] 558 |       exprs: &'a [&'a (Expression + 'a)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 558 |       exprs: &'a [&'a (dyn Expression + 'a)]
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:589:19
[INFO] [stdout]     |
[INFO] [stdout] 589 |       expr: &'a ( Expression + 'a )
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 589 |       expr: &'a ( dyn Expression + 'a )
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:616:24
[INFO] [stdout]     |
[INFO] [stdout] 616 |       exprs: &'a [&'a (Expression + 'a)]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 616 |       exprs: &'a [&'a (dyn Expression + 'a)]
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:379:26
[INFO] [stdout]     |
[INFO] [stdout] 379 |       pub fn new( expr: &Expression ) -> NotEx {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 379 |       pub fn new( expr: &dyn Expression ) -> NotEx {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:408:26
[INFO] [stdout]     |
[INFO] [stdout] 408 |       pub fn new( expr: &Expression ) -> And {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 408 |       pub fn new( expr: &dyn Expression ) -> And {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:459:26
[INFO] [stdout]     |
[INFO] [stdout] 459 |       pub fn new( expr: &Expression ) -> OptionEx {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |       pub fn new( expr: &dyn Expression ) -> OptionEx {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:485:26
[INFO] [stdout]     |
[INFO] [stdout] 485 |       pub fn new( expr: &Expression ) -> Star {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 485 |       pub fn new( expr: &dyn Expression ) -> Star {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:520:26
[INFO] [stdout]     |
[INFO] [stdout] 520 |       pub fn new( expr: &Expression ) -> Plus {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 520 |       pub fn new( expr: &dyn Expression ) -> Plus {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:563:36
[INFO] [stdout]     |
[INFO] [stdout] 563 |       pub fn new<'a>( exprs: &'a [&Expression] ) -> Or<'a> {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 563 |       pub fn new<'a>( exprs: &'a [&dyn Expression] ) -> Or<'a> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:594:27
[INFO] [stdout]     |
[INFO] [stdout] 594 |       pub fn new( expr: & Expression ) -> Fuse {
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 594 |       pub fn new( expr: & dyn Expression ) -> Fuse {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> inlined_parser.rs:621:36
[INFO] [stdout]     |
[INFO] [stdout] 621 |       pub fn new<'a>( exprs: &'a [&Expression] ) -> Sequence<'a> {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 621 |       pub fn new<'a>( exprs: &'a [&dyn Expression] ) -> Sequence<'a> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |       pub fn new( expr: &Expression ) -> NotEx {
[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] 379 |       pub fn new( expr: &Expression ) -> NotEx<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |       pub fn new( expr: &Expression ) -> And {
[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] 408 |       pub fn new( expr: &Expression ) -> And<'_> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |       pub fn new( expr: &Expression ) -> OptionEx {
[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] 459 |       pub fn new( expr: &Expression ) -> OptionEx<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:485:25
[INFO] [stdout]     |
[INFO] [stdout] 485 |       pub fn new( expr: &Expression ) -> Star {
[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] 485 |       pub fn new( expr: &Expression ) -> Star<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:520:25
[INFO] [stdout]     |
[INFO] [stdout] 520 |       pub fn new( expr: &Expression ) -> Plus {
[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] 520 |       pub fn new( expr: &Expression ) -> Plus<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> inlined_parser.rs:594:25
[INFO] [stdout]     |
[INFO] [stdout] 594 |       pub fn new( expr: & Expression ) -> Fuse {
[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] 594 |       pub fn new( expr: & Expression ) -> Fuse<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> nailgun.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #![feature(collections)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> nailgun.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(unicode)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> nailgun.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(slice_patterns)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]    |
[INFO] [stdout]    = help: the feature `slice_patterns` has been stable since `1.42.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> nailgun.rs:120:3
[INFO] [stdout]     |
[INFO] [stdout] 120 |   try!( File::create( &code_file ).and_then( |mut file| {
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> nailgun.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 | #![deny(deprecated)]
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> nailgun.rs:124:16
[INFO] [stdout]     |
[INFO] [stdout] 124 |   let status = try!( Command::new( "rustc" ).arg( "-o" )
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> nailgun.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |   let output = try!( Command::new( printer.to_str().unwrap() )
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> nailgun.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(slice_patterns)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `collections`
[INFO] [stdout]   --> nailgun.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | #![feature(collections)]
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `unicode`
[INFO] [stdout]   --> nailgun.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(unicode)]
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]   --> generator/mod.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ascii::AsciiExt;
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |              -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( *c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:32:36
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                             -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( *c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                                            -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( *c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                                                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:32:66
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( c4 ) => {
[INFO] [stdout]    |                                                           -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 32 |           if isHex( c1 ) && isHex( c2 ) && isHex( c3 ) && isHex( *c4 ) => {
[INFO] [stdout]    |                                                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:33:62
[INFO] [stdout]    |
[INFO] [stdout] 33 |         final_bytes = addFourBytesAsCodepoint( final_bytes, [c1, c2, c3, c4] );
[INFO] [stdout]    |                                                              ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 33 |         final_bytes = addFourBytesAsCodepoint( final_bytes, [*c1, c2, c3, c4] );
[INFO] [stdout]    |                                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if isHex( c1 ) && isHex( c2 ) => {
[INFO] [stdout]    |              -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if isHex( *c1 ) && isHex( c2 ) => {
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if isHex( c1 ) && isHex( c2 ) => {
[INFO] [stdout]    |                             -----  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn isHex( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if isHex( c1 ) && isHex( *c2 ) => {
[INFO] [stdout]    |                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:38:55
[INFO] [stdout]    |
[INFO] [stdout] 38 |         final_bytes = addTwoBytesAsHex( final_bytes, [c1, c2] );
[INFO] [stdout]    |                                                       ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 38 |         final_bytes = addTwoBytesAsHex( final_bytes, [*c1, c2] );
[INFO] [stdout]    |                                                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( c1 ) && isOctal( c2 ) && isOctal( c3 ) => {
[INFO] [stdout]    |              -------  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn isOctal( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( *c1 ) && isOctal( c2 ) && isOctal( c3 ) => {
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( c1 ) && isOctal( c2 ) && isOctal( c3 ) => {
[INFO] [stdout]    |                               -------  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn isOctal( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( c1 ) && isOctal( *c2 ) && isOctal( c3 ) => {
[INFO] [stdout]    |                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:42:57
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( c1 ) && isOctal( c2 ) && isOctal( c3 ) => {
[INFO] [stdout]    |                                                -------  ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> generator/unescape.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn isOctal( byte: u8 ) -> bool {
[INFO] [stdout]    |    ^^^^^^^  --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 42 |           if isOctal( c1 ) && isOctal( c2 ) && isOctal( *c3 ) => {
[INFO] [stdout]    |                                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:43:59
[INFO] [stdout]    |
[INFO] [stdout] 43 |         final_bytes = addThreeBytesAsOctal( final_bytes, [c1, c2, c3] );
[INFO] [stdout]    |                                                           ^^ expected `u8`, found `&u8`
[INFO] [stdout]    |
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 43 |         final_bytes = addThreeBytesAsOctal( final_bytes, [*c1, c2, c3] );
[INFO] [stdout]    |                                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> generator/unescape.rs:47:52
[INFO] [stdout]     |
[INFO] [stdout]  47 |         final_bytes = addEscapedByte( final_bytes, c );
[INFO] [stdout]     |                       --------------               ^ expected `u8`, found `&u8`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> generator/unescape.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn addEscapedByte( mut input: Vec<u8>, byte: u8 ) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^                      --------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]     |
[INFO] [stdout]  47 |         final_bytes = addEscapedByte( final_bytes, *c );
[INFO] [stdout]     |                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> generator/unescape.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 33 |         final_bytes = addFourBytesAsCodepoint( final_bytes, [c1, c2, c3, c4] );
[INFO] [stdout]    |         ----------- here the type of `final_bytes` is inferred to be `Vec<u8>`
[INFO] [stdout] ...
[INFO] [stdout] 51 |         final_bytes.push( c );
[INFO] [stdout]    |                     ----  ^ expected `u8`, found `&u8`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/vec/mod.rs:2563:12
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]    |
[INFO] [stdout] 51 |         final_bytes.push( *c );
[INFO] [stdout]    |                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for mutable reference `&mut str` in the current scope
[INFO] [stdout]   --> generator/unescape.rs:83:67
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let num_written = character.encode_utf8( &mut utf8chars ).unwrap();
[INFO] [stdout]    |                                                                   ^^^^^^ method not found in `&mut str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope
[INFO] [stdout]   --> generator/mod.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |     "DOT" => String::from_str( "&base::Dot" ),
[INFO] [stdout]    |                      ^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 9 others
[INFO] [stdout]   --> /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/string.rs:444:5
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 14 + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 40 -     "DOT" => String::from_str( "&base::Dot" ),
[INFO] [stdout] 40 +     "DOT" => String::from( "&base::Dot" ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope
[INFO] [stdout]   --> generator/mod.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |     "ARROW" => String::from_str( " <- " ),
[INFO] [stdout]    |                        ^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 9 others
[INFO] [stdout]   --> /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/string.rs:444:5
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 14 + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 41 -     "ARROW" => String::from_str( " <- " ),
[INFO] [stdout] 41 +     "ARROW" => String::from( " <- " ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope
[INFO] [stdout]   --> generator/mod.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |     "SLASH" => String::from_str( ", " ),
[INFO] [stdout]    |                        ^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 9 others
[INFO] [stdout]   --> /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/string.rs:444:5
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 14 + use std::str::FromStr;
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 42 -     "SLASH" => String::from_str( ", " ),
[INFO] [stdout] 42 +     "SLASH" => String::from( ", " ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope
[INFO] [stdout]    --> generator/mod.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut output = String::from_str( "seq!( " );
[INFO] [stdout]     |                              ^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 9 others
[INFO] [stdout]    --> /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/alloc/src/string.rs:444:5
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]  14 + use std::str::FromStr;
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 113 -     let mut output = String::from_str( "seq!( " );
[INFO] [stdout] 113 +     let mut output = String::from( "seq!( " );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `slice_chars` found for struct `String` in the current scope
[INFO] [stdout]    --> generator/mod.rs:191:28
[INFO] [stdout]     |
[INFO] [stdout] 191 |     &unescapeString( &full.slice_chars( 1, full.len() - 1 ) ) );
[INFO] [stdout]     |                            ^^^^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `tail` found for struct `Vec<String>` in the current scope
[INFO] [stdout]    --> nailgun.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 |   let matches = opts.parse( args.tail() ).unwrap();
[INFO] [stdout]     |                                  ^^^^ method not found in `Vec<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]   --> generator/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ascii::AsciiExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0554, E0599, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nailgun` (bin "nailgun") due to 26 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ef80b6a911c8fbe5e55e3a6626b8e15e24eba42d865a39914a13ebf82a5a0b8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef80b6a911c8fbe5e55e3a6626b8e15e24eba42d865a39914a13ebf82a5a0b8a", kill_on_drop: false }`
[INFO] [stdout] ef80b6a911c8fbe5e55e3a6626b8e15e24eba42d865a39914a13ebf82a5a0b8a
