[INFO] cloning repository https://github.com/avi-saccharose/kagura
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/avi-saccharose/kagura" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Favi-saccharose%2Fkagura", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Favi-saccharose%2Fkagura'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7a0cb014856b9ea99d100f921550e1c99ae60f24
[INFO] checking avi-saccharose/kagura against try#ad93f57d532978d6739002a21bc66b45ed22f998 for pr-155418
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Favi-saccharose%2Fkagura" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/avi-saccharose/kagura
[INFO] finished tweaking git repo https://github.com/avi-saccharose/kagura
[INFO] tweaked toml for git repo https://github.com/avi-saccharose/kagura written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/avi-saccharose/kagura on toolchain ad93f57d532978d6739002a21bc66b45ed22f998
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/avi-saccharose/kagura 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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking avi-saccharose/kagura against try#ad93f57d532978d6739002a21bc66b45ed22f998 for pr-155418
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Favi-saccharose%2Fkagura" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/avi-saccharose/kagura
[INFO] finished tweaking git repo https://github.com/avi-saccharose/kagura
[INFO] tweaked toml for git repo https://github.com/avi-saccharose/kagura written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/avi-saccharose/kagura on toolchain ad93f57d532978d6739002a21bc66b45ed22f998
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/avi-saccharose/kagura 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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 45d700288e8e580064fec2ed4c53c09fcf6b3166a812d3eac0616aeaa9b269eb
[INFO] running `Command { std: "docker" "start" "-a" "45d700288e8e580064fec2ed4c53c09fcf6b3166a812d3eac0616aeaa9b269eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "45d700288e8e580064fec2ed4c53c09fcf6b3166a812d3eac0616aeaa9b269eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45d700288e8e580064fec2ed4c53c09fcf6b3166a812d3eac0616aeaa9b269eb", kill_on_drop: false }`
[INFO] [stdout] 45d700288e8e580064fec2ed4c53c09fcf6b3166a812d3eac0616aeaa9b269eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d020772b49cd3d0d6adb0c1780bab79450362ca990f76d43e7326771a91166c
[INFO] running `Command { std: "docker" "start" "-a" "4d020772b49cd3d0d6adb0c1780bab79450362ca990f76d43e7326771a91166c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking kagura v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::analyzer::TypeChecker`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::analyzer::TypeChecker;
[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: `crate::analyzer::TypeChecker`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::analyzer::TypeChecker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/analyzer/mod.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 Ty::Bool => "bool",
[INFO] [stdout]    |                 -------- matches all the relevant values
[INFO] [stdout] 33 |                 Ty::String => "string",
[INFO] [stdout] 34 |                 Ty::Bool => "bool",
[INFO] [stdout]    |                 ^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/analyzer/mod.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 Ty::Bool => "bool",
[INFO] [stdout]    |                 -------- matches all the relevant values
[INFO] [stdout] 33 |                 Ty::String => "string",
[INFO] [stdout] 34 |                 Ty::Bool => "bool",
[INFO] [stdout]    |                 ^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PrintStmt` is more private than the item `AstPrinter::print_program`
[INFO] [stdout]   --> src/pretty_print/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn print_program<S: PrintStmt>(&mut self, stmts: &[S]) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AstPrinter::print_program` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PrintStmt` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/pretty_print/mod.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | trait PrintStmt {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeError` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TypeError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Ty` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Ty {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum Op {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinRule` is never constructed
[INFO] [stdout]   --> src/analyzer/mod.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct BinRule {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_rule` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn bin_rule(op: Kind, operands: Ty, ty: Ty) -> (BinRule, Ty) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_op_rules` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn bin_op_rules() -> HashMap<BinRule, Ty> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TExpr` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TExpr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TExprKind` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum TExprKind {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TIf` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct TIf {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TBin` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TBin {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TLit` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum TLit {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TStmt` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub enum TStmt {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeChecker` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct TypeChecker {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/analyzer/mod.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl TypeChecker {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 181 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn check_program(&mut self, stmts: Vec<Stmt>) -> Result<Vec<TStmt>, TypeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn check_stmt(&mut self, stmt: Stmt) -> Result<TStmt, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn check_expr(&mut self, expr: Expr) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn check_binary(&mut self, bin: Bin) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn check_lit(&mut self, lit: Lit) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn check_binary_op(&self, op: Kind, left: Ty, right: Ty) -> Result<Ty, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tokenize` is never used
[INFO] [stdout]   --> src/lexer/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<'input> Lexer<'input> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PrintStmt` is more private than the item `AstPrinter::print_program`
[INFO] [stdout]   --> src/pretty_print/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn print_program<S: PrintStmt>(&mut self, stmts: &[S]) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `AstPrinter::print_program` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PrintStmt` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/pretty_print/mod.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | trait PrintStmt {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeError` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TypeError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Ty` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Ty {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Op` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum Op {
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinRule` is never constructed
[INFO] [stdout]   --> src/analyzer/mod.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct BinRule {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_rule` is never used
[INFO] [stdout]   --> src/analyzer/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn bin_rule(op: Kind, operands: Ty, ty: Ty) -> (BinRule, Ty) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bin_op_rules` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn bin_op_rules() -> HashMap<BinRule, Ty> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TExpr` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TExpr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TExprKind` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum TExprKind {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TIf` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct TIf {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TBin` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct TBin {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TLit` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum TLit {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TStmt` is never used
[INFO] [stdout]    --> src/analyzer/mod.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub enum TStmt {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeChecker` is never constructed
[INFO] [stdout]    --> src/analyzer/mod.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct TypeChecker {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/analyzer/mod.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl TypeChecker {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 181 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn check_program(&mut self, stmts: Vec<Stmt>) -> Result<Vec<TStmt>, TypeError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn check_stmt(&mut self, stmt: Stmt) -> Result<TStmt, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn check_expr(&mut self, expr: Expr) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn check_binary(&mut self, bin: Bin) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn check_lit(&mut self, lit: Lit) -> Result<TExpr, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn check_binary_op(&self, op: Kind, left: Ty, right: Ty) -> Result<Ty, TypeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.28s
[INFO] running `Command { std: "docker" "inspect" "4d020772b49cd3d0d6adb0c1780bab79450362ca990f76d43e7326771a91166c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d020772b49cd3d0d6adb0c1780bab79450362ca990f76d43e7326771a91166c", kill_on_drop: false }`
[INFO] [stdout] 4d020772b49cd3d0d6adb0c1780bab79450362ca990f76d43e7326771a91166c
