[INFO] cloning repository https://github.com/Minigugus/skrull
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Minigugus/skrull" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinigugus%2Fskrull", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinigugus%2Fskrull'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 685594995476e6a8ea4b4fddc5ee65146747b63e
[INFO] checking Minigugus/skrull against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinigugus%2Fskrull" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Minigugus/skrull
[INFO] finished tweaking git repo https://github.com/Minigugus/skrull
[INFO] tweaked toml for git repo https://github.com/Minigugus/skrull written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Minigugus/skrull on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Minigugus/skrull 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81b92a575f87312faf6ee8fafdc6e28d3a4781cfb8971910498a270b0f4a0f67
[INFO] running `Command { std: "docker" "start" "-a" "81b92a575f87312faf6ee8fafdc6e28d3a4781cfb8971910498a270b0f4a0f67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81b92a575f87312faf6ee8fafdc6e28d3a4781cfb8971910498a270b0f4a0f67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81b92a575f87312faf6ee8fafdc6e28d3a4781cfb8971910498a270b0f4a0f67", kill_on_drop: false }`
[INFO] [stdout] 81b92a575f87312faf6ee8fafdc6e28d3a4781cfb8971910498a270b0f4a0f67
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 376e417cc783a2d4cb70f969a76946778d3f7a190b4cf1aacb39cefbb4e1cfc0
[INFO] running `Command { std: "docker" "start" "-a" "376e417cc783a2d4cb70f969a76946778d3f7a190b4cf1aacb39cefbb4e1cfc0", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.67
[INFO] [stderr]     Checking clap_builder v4.5.5
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]     Checking clap v4.5.5
[INFO] [stderr]     Checking skrull v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/printer/rust.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use alloc::{format, vec};
[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: `alloc::boxed::Box`
[INFO] [stdout]  --> src/printer/rust.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::rc::Rc`
[INFO] [stdout]  --> src/printer/rust.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use alloc::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockExpression`, `Expression`, `Fields`, `FunctionDeclaration`, `FunctionPrototype`, `Mutability`, `Struct`, `VariableSymbolDeclaration`, `parse_enum`, `parse_function_declaration`, and `parse_struct`
[INFO] [stdout]  --> src/printer/rust.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | ...::{BlockExpression, Expression, Fields, FunctionDeclaration, FunctionPrototype, Mutability, parse_enum, parse_function_declaration, parse_struct, Struct, VariableSymbolDeclaration};
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModuleBuilder`
[INFO] [stdout]  --> src/printer/rust.rs:9:69
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::types::{EnumDef, EnumVariantFields, FunctionDef, Module, ModuleBuilder, PrimitiveType, Scope, StructDef, StructFields, Sym...
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vec`
[INFO] [stdout]  --> src/printer/java.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use alloc::{format, vec};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::boxed::Box`
[INFO] [stdout]  --> src/printer/java.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fields`, `Struct`, `parse_enum`, and `parse_struct`
[INFO] [stdout]  --> src/printer/java.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parser::{Fields, parse_enum, parse_struct, Struct};
[INFO] [stdout]   |                     ^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ModuleBuilder`
[INFO] [stdout]   --> src/printer/java.rs:10:69
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::{EnumDef, EnumVariantFields, FunctionDef, Module, ModuleBuilder, PrimitiveType, Scope, StructDef, StructFields, Sy...
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::Token`
[INFO] [stdout]   --> src/transform/java.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::lexer::Token;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::borrow::Cow`
[INFO] [stdout]    --> src/transform/java/match_op.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |     use alloc::borrow::Cow;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::ToString`
[INFO] [stdout]    --> src/transform/java/match_op.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use alloc::string::ToString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::Token`
[INFO] [stdout]    --> src/transform/java/match_op.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |     use crate::lexer::Token;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Module`
[INFO] [stdout]    --> src/transform/java/match_op.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     use crate::types::Module;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::JavaModule`
[INFO] [stdout]    --> src/transform/java/match_op.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |     use super::JavaModule;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::Token`
[INFO] [stdout]   --> src/transform/ts.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::lexer::Token;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::borrow::Cow`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |     use alloc::borrow::Cow;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::format`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use alloc::format;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::ToString`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     use alloc::string::ToString;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::Token`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     use crate::lexer::Token;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::Module`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 333 |     use crate::types::Module;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::TsModule`
[INFO] [stdout]    --> src/transform/ts/match_op.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |     use super::TsModule;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::parse_function_declaration`
[INFO] [stdout]  --> src/eval.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::parse_function_declaration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ModuleBuilder` and `SymbolType`
[INFO] [stdout]  --> src/eval.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::types::{Module, ModuleBuilder, ResolverContext, StructFields, Symbol, SymbolRef, SymbolType};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/scope.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hash`
[INFO] [stdout]  --> src/mlir/ops.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::hash::{Hash, Hasher};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::format`
[INFO] [stdout]    --> src/mlir/ops.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |     use alloc::format;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]    --> src/mlir/ops.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |     use alloc::vec::Vec;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockBuilder` and `Result`
[INFO] [stdout]    --> src/mlir/ops.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |     use super::{BlockBuilder, Body, Printer, Result, RuntimeValue, Typed};
[INFO] [stdout]     |                 ^^^^^^^^^^^^                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/scope.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::fmt::{Debug, Display, Formatter};
[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: `Hash`
[INFO] [stdout]  --> src/mlir/ops.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::hash::{Hash, Hasher};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/transform/ts.rs:970:17
[INFO] [stdout]     |
[INFO] [stdout] 970 |                   TsValueKind::TsType(match (l, r) {
[INFO] [stdout]     |  _________________^^^^^^^^^^^^^^^^^^^_-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 unreachable call
[INFO] [stdout] 971 | |                     // (TsType::Number, TsType::Number) => TsType::Number,
[INFO] [stdout] 972 | |
[INFO] [stdout] 973 | |                     _ => return TsValueKind::Never
[INFO] [stdout] 974 | |                 })
[INFO] [stdout]     | |_________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/transform/ts.rs:970:17
[INFO] [stdout]     |
[INFO] [stdout] 970 |                   TsValueKind::TsType(match (l, r) {
[INFO] [stdout]     |  _________________^^^^^^^^^^^^^^^^^^^_-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 unreachable call
[INFO] [stdout] 971 | |                     // (TsType::Number, TsType::Number) => TsType::Number,
[INFO] [stdout] 972 | |
[INFO] [stdout] 973 | |                     _ => return TsValueKind::Never
[INFO] [stdout] 974 | |                 })
[INFO] [stdout]     | |_________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/eval.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | /     match body.terminator_op() {
[INFO] [stdout] 333 | |         SkTerminatorOp::Yield(ref v) => return heap.get(v).ok_or("invalid ref in Yield terminator op".into())
[INFO] [stdout] 334 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 335 |       Err("missing Return op")?
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/mlir/ops.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::hash::{Hash, Hasher};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/eval.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | /     match body.terminator_op() {
[INFO] [stdout] 333 | |         SkTerminatorOp::Yield(ref v) => return heap.get(v).ok_or("invalid ref in Yield terminator op".into())
[INFO] [stdout] 334 | |     }
[INFO] [stdout]     | |_____- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 335 |       Err("missing Return op")?
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/mlir/ops.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::hash::{Hash, Hasher};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/bytecode.rs:171:36
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Symbol::Struct(s) => Err("Expected an enum, not a struct".into()),
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> src/transform/java/match_op.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/java/match_op.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/java/match_op.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/transform/java/match_op.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let tb = b.body([], |bb, params| {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/bytecode.rs:171:36
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Symbol::Struct(s) => Err("Expected an enum, not a struct".into()),
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> src/transform/java/match_op.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/java/match_op.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/java/match_op.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/transform/java/match_op.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let tb = b.body([], |bb, params| {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/transform/java.rs:1106:9
[INFO] [stdout]      |
[INFO] [stdout] 1106 |         mut scope: &mut JavaScope,
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let tb = b.body([], |bb, params| {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/transform/ts.rs:467:40
[INFO] [stdout]     |
[INFO] [stdout] 467 |                 TsOp::InvokeStatic((_, s, ..), _, n, a) => {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/transform/java.rs:1106:9
[INFO] [stdout]      |
[INFO] [stdout] 1106 |         mut scope: &mut JavaScope,
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 b.body([], move |bb, args| {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]   --> src/transform/ts/match_op.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let tb = b.body([], |bb, params| {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/transform/ts.rs:1105:9
[INFO] [stdout]      |
[INFO] [stdout] 1105 |         mut scope: &mut TsScope,
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval.rs:188:21
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let mut fields = match s.fields() {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exact`
[INFO] [stdout]    --> src/eval.rs:264:70
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         SkMatchPatternOp::FieldStruct { typ, params, exact } => {
[INFO] [stdout]     |                                                                      ^^^^^ help: try ignoring the field: `exact: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/transform/ts.rs:467:40
[INFO] [stdout]     |
[INFO] [stdout] 467 |                 TsOp::InvokeStatic((_, s, ..), _, n, a) => {
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/scope.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             _ => Err("unknown depth or runtime value type")?
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/scope.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             RuntimeValue::Local(bd, _, oi, _) => if let Some(s) = self.scopes.live.get_mut(*bd) {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 108 |             RuntimeValue::Parameter(..) => Err("cannot bind to a parameter")?,
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] 109 |             _ => Err("unknown depth or runtime value type")?
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/mlir/ops.rs:410:27
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 Op::If(_, t, None) => ValueType::Unit,
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JavaField` is more private than the item `JavaModule::resolve_record_field`
[INFO] [stdout]    --> src/transform/java.rs:813:5
[INFO] [stdout]     |
[INFO] [stdout] 813 |     pub fn resolve_record_field(&self, sr: &JavaSymbolRef, name: &str) -> Option<&JavaField> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `JavaModule::resolve_record_field` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `JavaField` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/java.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct JavaField {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TsSymbol` is more private than the item `TsModule::resolve`
[INFO] [stdout]    --> src/transform/ts.rs:796:5
[INFO] [stdout]     |
[INFO] [stdout] 796 |     pub fn resolve(&self, fqdn: &str) -> Option<&TsSymbol> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TsModule::resolve` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TsSymbol` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/ts.rs:535:1
[INFO] [stdout]     |
[INFO] [stdout] 535 | struct TsSymbol {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TsField` is more private than the item `TsModule::resolve_record_field`
[INFO] [stdout]    --> src/transform/ts.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 814 |     pub fn resolve_record_field(&self, sr: &TsSymbolRef, name: &str) -> Option<&TsField> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TsModule::resolve_record_field` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TsField` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/ts.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | struct TsField {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Protected` and `Private` are never constructed
[INFO] [stdout]   --> src/transform/java.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | enum JavaVisibility {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 39 |     Public,
[INFO] [stdout] 40 |     Protected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 41 |     PackagePrivate,
[INFO] [stdout] 42 |     Private,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaVisibility` 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: variant `Byte` is never constructed
[INFO] [stdout]   --> src/transform/java.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum JavaType {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     Byte,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fqdn` is never read
[INFO] [stdout]    --> src/transform/java.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct JavaModuleBuilder<'a> {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 570 |     fqdn: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unreachable`, `GetParam`, and `And` are never constructed
[INFO] [stdout]    --> src/transform/java.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 832 | enum JavaOpN {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 833 |     Error(Cow<'static, str>),
[INFO] [stdout] 834 |     Unreachable(Cow<'static, str>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 846 |     GetParam(JavaValueKind, Rc<String>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 854 |     And(JavaValueRef, JavaValueRef),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JavaOpN` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `JavaBlockBuilder` is never used
[INFO] [stdout]     --> src/transform/java.rs:1043:6
[INFO] [stdout]      |
[INFO] [stdout] 1043 | type JavaBlockBuilder<'a> = BlockBuilder<'a, SkValueKind, JavaOpN, JavaTerminatorOpN>;
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fqdn` is never read
[INFO] [stdout]    --> src/transform/ts.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct TsModuleBuilder<'a> {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 570 |     fqdn: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unreachable`, `GetParam`, and `And` are never constructed
[INFO] [stdout]    --> src/transform/ts.rs:867:5
[INFO] [stdout]     |
[INFO] [stdout] 865 | enum TsOp {
[INFO] [stdout]     |      ---- variants in this enum
[INFO] [stdout] 866 |     Error(Cow<'static, str>),
[INFO] [stdout] 867 |     Unreachable(Cow<'static, str>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 878 |     GetParam(TsValueKind, Rc<String>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 886 |     And(TsValueRef, TsValueRef),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TsOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `default_value` is never used
[INFO] [stdout]    --> src/transform/ts.rs:915:12
[INFO] [stdout]     |
[INFO] [stdout] 907 | impl TsValueKind {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 915 |     pub fn default_value(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TsBlockBuilder` is never used
[INFO] [stdout]     --> src/transform/ts.rs:1042:6
[INFO] [stdout]      |
[INFO] [stdout] 1042 | type TsBlockBuilder<'a> = BlockBuilder<'a, SkValueKind, TsOp, TsTerminatorOp>;
[INFO] [stdout]      |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]  --> src/eval.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Result<T> = core::result::Result<T, Cow<'static, str>>;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Composed` is never used
[INFO] [stdout]   --> src/eval.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | enum Composed {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/eval.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Value {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_i16`, `to_bool`, `is_assignable_to`, and `kind` are never used
[INFO] [stdout]   --> src/eval.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Value {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 29 |     pub fn to_i16(&self) -> Result<i64> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn to_bool(&self) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn is_assignable_to(&self, kind: &SkValueKind) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn kind(&self) -> SkValueKind {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Heap` is never constructed
[INFO] [stdout]   --> src/eval.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct Heap<'a> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `root`, `nested`, `get`, and `push` are never used
[INFO] [stdout]    --> src/eval.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl<'a> Heap<'a> {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  83 |     pub fn root(params: &'a [Value]) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn nested<'b>(&'b self, params: &'a [Value]) -> Heap<'b> where 'b: 'a {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn get(&self, r: &ValueRef) -> Option<Value> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn push(&mut self, v: Value) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]    --> src/eval.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn eval(ctx: &impl ResolverContext, body: &SkBody, params_or_heap: core::result::Result<&[Value], Heap>) -> Result<Value> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_function_body` is never used
[INFO] [stdout]    --> src/eval.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn get_function_body<'a>(module: &'a Module, name: &str) -> Result<&'a SkBody> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `GroupPrinter` is never constructed
[INFO] [stdout]    --> src/mlir/ops.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct GroupPrinter<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]     = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Printer` is never constructed
[INFO] [stdout]    --> src/mlir/ops.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct Printer<T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/transform/ts.rs:1105:9
[INFO] [stdout]      |
[INFO] [stdout] 1105 |         mut scope: &mut TsScope,
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:142:46
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn skip_while<F: Fn(char) -> bool>(left: &str, criteria: F) -> (usize, Option<TokenKind>) {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn skip_while<F: Fn(char) -> bool>(left: &str, criteria: F) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn number(left: &str) -> Result<(usize, Option<TokenKind>), &'static str> {
[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] 146 |     fn number(left: &str) -> Result<(usize, Option<TokenKind<'_>>), &'static str> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:155:26
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn doc_comment(left: &str) -> (usize, Option<TokenKind>) {
[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] 155 |     fn doc_comment(left: &str) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn symbol(left: &str) -> (usize, Option<TokenKind>) {
[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] 164 |     fn symbol(left: &str) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn allocate(&mut self, depth: usize, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 24 |     fn allocate(&mut self, depth: usize, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn root(&mut self, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 41 |     pub fn root(&mut self, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn nested(&mut self, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 76 |     pub fn nested(&mut self, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval.rs:188:21
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let mut fields = match s.fields() {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exact`
[INFO] [stdout]    --> src/eval.rs:264:70
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         SkMatchPatternOp::FieldStruct { typ, params, exact } => {
[INFO] [stdout]     |                                                                      ^^^^^ help: try ignoring the field: `exact: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/scope.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             _ => Err("unknown depth or runtime value type")?
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/scope.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             RuntimeValue::Local(bd, _, oi, _) => if let Some(s) = self.scopes.live.get_mut(*bd) {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 108 |             RuntimeValue::Parameter(..) => Err("cannot bind to a parameter")?,
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] 109 |             _ => Err("unknown depth or runtime value type")?
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `skrull` (lib) due to 2 previous errors; 75 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/mlir/ops.rs:410:27
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 Op::If(_, t, None) => ValueType::Unit,
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]    --> src/mlir/ops.rs:551:22
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     |bb, _| {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `JavaField` is more private than the item `JavaModule::resolve_record_field`
[INFO] [stdout]    --> src/transform/java.rs:813:5
[INFO] [stdout]     |
[INFO] [stdout] 813 |     pub fn resolve_record_field(&self, sr: &JavaSymbolRef, name: &str) -> Option<&JavaField> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `JavaModule::resolve_record_field` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `JavaField` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/java.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct JavaField {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TsSymbol` is more private than the item `TsModule::resolve`
[INFO] [stdout]    --> src/transform/ts.rs:796:5
[INFO] [stdout]     |
[INFO] [stdout] 796 |     pub fn resolve(&self, fqdn: &str) -> Option<&TsSymbol> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TsModule::resolve` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TsSymbol` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/ts.rs:535:1
[INFO] [stdout]     |
[INFO] [stdout] 535 | struct TsSymbol {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TsField` is more private than the item `TsModule::resolve_record_field`
[INFO] [stdout]    --> src/transform/ts.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 814 |     pub fn resolve_record_field(&self, sr: &TsSymbolRef, name: &str) -> Option<&TsField> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `TsModule::resolve_record_field` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TsField` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/transform/ts.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | struct TsField {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Protected` and `Private` are never constructed
[INFO] [stdout]   --> src/transform/java.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | enum JavaVisibility {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 39 |     Public,
[INFO] [stdout] 40 |     Protected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 41 |     PackagePrivate,
[INFO] [stdout] 42 |     Private,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaVisibility` 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: variant `Byte` is never constructed
[INFO] [stdout]   --> src/transform/java.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum JavaType {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     Byte,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fqdn` is never read
[INFO] [stdout]    --> src/transform/java.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct JavaModuleBuilder<'a> {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 570 |     fqdn: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unreachable`, `GetParam`, and `And` are never constructed
[INFO] [stdout]    --> src/transform/java.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 832 | enum JavaOpN {
[INFO] [stdout]     |      ------- variants in this enum
[INFO] [stdout] 833 |     Error(Cow<'static, str>),
[INFO] [stdout] 834 |     Unreachable(Cow<'static, str>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 846 |     GetParam(JavaValueKind, Rc<String>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 854 |     And(JavaValueRef, JavaValueRef),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JavaOpN` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `JavaBlockBuilder` is never used
[INFO] [stdout]     --> src/transform/java.rs:1043:6
[INFO] [stdout]      |
[INFO] [stdout] 1043 | type JavaBlockBuilder<'a> = BlockBuilder<'a, SkValueKind, JavaOpN, JavaTerminatorOpN>;
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fqdn` is never read
[INFO] [stdout]    --> src/transform/ts.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct TsModuleBuilder<'a> {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 570 |     fqdn: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unreachable`, `GetParam`, and `And` are never constructed
[INFO] [stdout]    --> src/transform/ts.rs:867:5
[INFO] [stdout]     |
[INFO] [stdout] 865 | enum TsOp {
[INFO] [stdout]     |      ---- variants in this enum
[INFO] [stdout] 866 |     Error(Cow<'static, str>),
[INFO] [stdout] 867 |     Unreachable(Cow<'static, str>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 878 |     GetParam(TsValueKind, Rc<String>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 886 |     And(TsValueRef, TsValueRef),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TsOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `default_value` is never used
[INFO] [stdout]    --> src/transform/ts.rs:915:12
[INFO] [stdout]     |
[INFO] [stdout] 907 | impl TsValueKind {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 915 |     pub fn default_value(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TsBlockBuilder` is never used
[INFO] [stdout]     --> src/transform/ts.rs:1042:6
[INFO] [stdout]      |
[INFO] [stdout] 1042 | type TsBlockBuilder<'a> = BlockBuilder<'a, SkValueKind, TsOp, TsTerminatorOp>;
[INFO] [stdout]      |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `I16`, `F64`, and `Usize` are never constructed
[INFO] [stdout]   --> src/eval.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Value {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     I16(i16),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 23 |     F64(f64),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 24 |     Usize(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:142:46
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn skip_while<F: Fn(char) -> bool>(left: &str, criteria: F) -> (usize, Option<TokenKind>) {
[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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn skip_while<F: Fn(char) -> bool>(left: &str, criteria: F) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn number(left: &str) -> Result<(usize, Option<TokenKind>), &'static str> {
[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] 146 |     fn number(left: &str) -> Result<(usize, Option<TokenKind<'_>>), &'static str> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:155:26
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn doc_comment(left: &str) -> (usize, Option<TokenKind>) {
[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] 155 |     fn doc_comment(left: &str) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn symbol(left: &str) -> (usize, Option<TokenKind>) {
[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] 164 |     fn symbol(left: &str) -> (usize, Option<TokenKind<'_>>) {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:791:35
[INFO] [stdout]     |
[INFO] [stdout] 791 | fn dl(loc: Range<usize>, content: &str) -> DocLine {
[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] 791 | fn dl(loc: Range<usize>, content: &str) -> DocLine<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn allocate(&mut self, depth: usize, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 24 |     fn allocate(&mut self, depth: usize, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn root(&mut self, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 41 |     pub fn root(&mut self, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scope.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn nested(&mut self, params: impl Into<Vec<T>>) -> Scope<T> {
[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] 76 |     pub fn nested(&mut self, params: impl Into<Vec<T>>) -> Scope<'_, T> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/mlir/ops.rs:501:9
[INFO] [stdout]     |
[INFO] [stdout] 500 |     fn it_can_print_body() -> Result<()> {
[INFO] [stdout]     |     ------------------------------------ move the `impl` block outside of this function `it_can_print_body`
[INFO] [stdout] 501 |         impl<'a> BlockBuilder<'a, ValueType, Op, TerminatorOp> {
[INFO] [stdout]     |         ^^^^^^^^^------------^^^^^---------^^--^^------------^
[INFO] [stdout]     |                  |                |          |   |
[INFO] [stdout]     |                  |                |          |   `TerminatorOp` is not local
[INFO] [stdout]     |                  |                |          `Op` is not local
[INFO] [stdout]     |                  |                `ValueType` is not local
[INFO] [stdout]     |                  `BlockBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "376e417cc783a2d4cb70f969a76946778d3f7a190b4cf1aacb39cefbb4e1cfc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "376e417cc783a2d4cb70f969a76946778d3f7a190b4cf1aacb39cefbb4e1cfc0", kill_on_drop: false }`
[INFO] [stdout] 376e417cc783a2d4cb70f969a76946778d3f7a190b4cf1aacb39cefbb4e1cfc0
