[INFO] fetching crate y-lang 0.1.3...
[INFO] testing y-lang-0.1.3 against 1.91.0 for beta-1.92-2
[INFO] extracting crate y-lang 0.1.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate y-lang 0.1.3
[INFO] finished tweaking crates.io crate y-lang 0.1.3
[INFO] tweaked toml for crates.io crate y-lang 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate y-lang 0.1.3 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate y-lang 0.1.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simple_logger v4.1.0
[INFO] [stderr]   Downloaded unescape v0.1.0
[INFO] [stderr]   Downloaded is-terminal v0.4.6
[INFO] [stderr]   Downloaded pest_derive v2.6.0
[INFO] [stderr]   Downloaded anstyle-wincon v1.0.0
[INFO] [stderr]   Downloaded io-lifetimes v1.0.4
[INFO] [stderr]   Downloaded cc v1.0.78
[INFO] [stderr]   Downloaded clap_derive v4.2.0
[INFO] [stderr]   Downloaded clap v4.2.5
[INFO] [stderr]   Downloaded pest v2.6.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.53
[INFO] [stderr]   Downloaded anstream v0.3.0
[INFO] [stderr]   Downloaded thiserror v1.0.38
[INFO] [stderr]   Downloaded clap_builder v4.2.5
[INFO] [stderr]   Downloaded block-buffer v0.10.3
[INFO] [stderr]   Downloaded pest_meta v2.6.0
[INFO] [stderr]   Downloaded syn v2.0.8
[INFO] [stderr]   Downloaded syn v1.0.107
[INFO] [stderr]   Downloaded unicode-ident v1.0.6
[INFO] [stderr]   Downloaded pest_generator v2.6.0
[INFO] [stderr]   Downloaded rustix v0.37.4
[INFO] [stderr]   Downloaded errno v0.3.0
[INFO] [stderr]   Downloaded clap_lex v0.4.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.38
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5c4458f3831f0b8caf9fbdb32b9055e9b947fbf29e2cc34693e9c53ed435c1b
[INFO] running `Command { std: "docker" "start" "-a" "e5c4458f3831f0b8caf9fbdb32b9055e9b947fbf29e2cc34693e9c53ed435c1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5c4458f3831f0b8caf9fbdb32b9055e9b947fbf29e2cc34693e9c53ed435c1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5c4458f3831f0b8caf9fbdb32b9055e9b947fbf29e2cc34693e9c53ed435c1b", kill_on_drop: false }`
[INFO] [stdout] e5c4458f3831f0b8caf9fbdb32b9055e9b947fbf29e2cc34693e9c53ed435c1b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b230d6daf911ea7fbe55197cfa67bdbea2c4db578041f3fa385c1baa9e17af7
[INFO] running `Command { std: "docker" "start" "-a" "5b230d6daf911ea7fbe55197cfa67bdbea2c4db578041f3fa385c1baa9e17af7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.53
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling libc v0.2.140
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling io-lifetimes v1.0.4
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling rustix v0.37.4
[INFO] [stderr]    Compiling linux-raw-sys v0.3.0
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling ucd-trie v0.1.5
[INFO] [stderr]    Compiling once_cell v1.17.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.0
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling anstyle v1.0.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling clap_lex v0.4.0
[INFO] [stderr]    Compiling unescape v0.1.0
[INFO] [stderr]    Compiling syn v2.0.8
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling simple_logger v4.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling is-terminal v0.4.6
[INFO] [stderr]    Compiling anstream v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.2.5
[INFO] [stderr]    Compiling pest v2.6.0
[INFO] [stderr]    Compiling pest_meta v2.6.0
[INFO] [stderr]    Compiling clap_derive v4.2.0
[INFO] [stderr]    Compiling pest_generator v2.6.0
[INFO] [stderr]    Compiling pest_derive v2.6.0
[INFO] [stderr]    Compiling clap v4.2.5
[INFO] [stderr]    Compiling y-lang v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::parser::*`
[INFO] [stdout]   --> src/ast/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub use self::parser::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/binary_op.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct UndefinedOpError(String);
[INFO] [stdout]    |            ---------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/prefix_op.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UndefinedPrefixOpError(String);
[INFO] [stdout]    |            ---------------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedPrefixOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/typechecker/variabletype.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct VariableParseError(String);
[INFO] [stdout]    |            ------------------ ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast/parser.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<Rule>> {
[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] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<'_, Rule>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:131:40
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 if *other_item_type == Box::new(Char) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:140:34
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 if *item_type == Box::new(Char) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.38s
[INFO] running `Command { std: "docker" "inspect" "5b230d6daf911ea7fbe55197cfa67bdbea2c4db578041f3fa385c1baa9e17af7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b230d6daf911ea7fbe55197cfa67bdbea2c4db578041f3fa385c1baa9e17af7", kill_on_drop: false }`
[INFO] [stdout] 5b230d6daf911ea7fbe55197cfa67bdbea2c4db578041f3fa385c1baa9e17af7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9af62a02fd1e13c463a911ceb6fdcaa0d40d7f2a37a5c8d6f52a92e3e08e2fcf
[INFO] running `Command { std: "docker" "start" "-a" "9af62a02fd1e13c463a911ceb6fdcaa0d40d7f2a37a5c8d6f52a92e3e08e2fcf", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `self::parser::*`
[INFO] [stdout]   --> src/ast/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub use self::parser::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/binary_op.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct UndefinedOpError(String);
[INFO] [stdout]    |            ---------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/prefix_op.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UndefinedPrefixOpError(String);
[INFO] [stdout]    |            ---------------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedPrefixOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/typechecker/variabletype.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct VariableParseError(String);
[INFO] [stdout]    |            ------------------ ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast/parser.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<Rule>> {
[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] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<'_, Rule>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:131:40
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 if *other_item_type == Box::new(Char) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:140:34
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 if *item_type == Box::new(Char) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling y-lang v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/scope.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/import.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/functions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `y-lang` (test "import") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `y-lang` (test "scope") due to 1 previous error
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/assignment.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `y-lang` (test "functions") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `y-lang` (test "assignment") due to 1 previous error
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/print.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `test_utils`
[INFO] [stdout]  --> tests/fib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use test_utils::{check_compilation, Expected};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `test_utils`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `test_utils`, use `cargo add test_utils` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::parser::*`
[INFO] [stdout]   --> src/ast/mod.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub use self::parser::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `y-lang` (test "fib") due to 1 previous error
[INFO] [stderr] error: could not compile `y-lang` (test "print") due to 1 previous error
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/binary_op.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct UndefinedOpError(String);
[INFO] [stdout]    |            ---------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/prefix_op.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UndefinedPrefixOpError(String);
[INFO] [stdout]    |            ---------------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `UndefinedPrefixOpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/typechecker/variabletype.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct VariableParseError(String);
[INFO] [stdout]    |            ------------------ ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast/parser.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<Rule>> {
[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] 10 |     pub fn parse_program(file: impl ToString, program: &str) -> ParseResult<Pairs<'_, Rule>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:131:40
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 if *other_item_type == Box::new(Char) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary allocation, use `&` instead
[INFO] [stdout]    --> src/typechecker/variabletype.rs:140:34
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 if *item_type == Box::new(Char) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9af62a02fd1e13c463a911ceb6fdcaa0d40d7f2a37a5c8d6f52a92e3e08e2fcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9af62a02fd1e13c463a911ceb6fdcaa0d40d7f2a37a5c8d6f52a92e3e08e2fcf", kill_on_drop: false }`
[INFO] [stdout] 9af62a02fd1e13c463a911ceb6fdcaa0d40d7f2a37a5c8d6f52a92e3e08e2fcf
