[INFO] cloning repository https://github.com/aurakle/caelis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aurakle/caelis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faurakle%2Fcaelis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faurakle%2Fcaelis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 267046e44077ef86e15aefdf13195f8385a4a2a2
[INFO] checking aurakle/caelis against master#eeb94be79adc9df7a09ad0b2421f16e60e6d932c for pr-152971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faurakle%2Fcaelis" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aurakle/caelis
[INFO] finished tweaking git repo https://github.com/aurakle/caelis
[INFO] tweaked toml for git repo https://github.com/aurakle/caelis written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aurakle/caelis on toolchain eeb94be79adc9df7a09ad0b2421f16e60e6d932c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aurakle/caelis 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" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stacker v0.1.21
[INFO] [stderr]   Downloaded psm v0.1.26
[INFO] [stderr]   Downloaded concolor v0.1.1
[INFO] [stderr]   Downloaded inkwell_internals v0.11.0
[INFO] [stderr]   Downloaded ariadne v0.5.1
[INFO] [stderr]   Downloaded arcstr v1.2.0
[INFO] [stderr]   Downloaded llvm-sys v181.2.0
[INFO] [stderr]   Downloaded chumsky v0.10.1
[INFO] [stderr]   Downloaded inkwell v0.6.0
[INFO] [stderr]   Downloaded regex-automata v0.3.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 17b405d5706758bbe67dbbbad13173d1cb493d4c6ce0648155674707216a4d78
[INFO] running `Command { std: "docker" "start" "-a" "17b405d5706758bbe67dbbbad13173d1cb493d4c6ce0648155674707216a4d78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17b405d5706758bbe67dbbbad13173d1cb493d4c6ce0648155674707216a4d78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17b405d5706758bbe67dbbbad13173d1cb493d4c6ce0648155674707216a4d78", kill_on_drop: false }`
[INFO] [stdout] 17b405d5706758bbe67dbbbad13173d1cb493d4c6ce0648155674707216a4d78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 633c9b83db0cc0040feb7e7c4ab739a4212705c011e6bf0c5b380a7f2fe3baaa
[INFO] running `Command { std: "docker" "start" "-a" "633c9b83db0cc0040feb7e7c4ab739a4212705c011e6bf0c5b380a7f2fe3baaa", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]    Compiling chumsky v0.10.1
[INFO] [stderr]    Compiling inkwell v0.6.0
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking concolor-query v0.3.3
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking arcstr v1.2.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking concolor v0.1.1
[INFO] [stderr]     Checking shellexpand v3.1.1
[INFO] [stderr]     Checking clap_builder v4.5.39
[INFO] [stderr]     Checking ariadne v0.5.1
[INFO] [stderr]    Compiling llvm-sys v181.2.0
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]    Compiling stacker v0.1.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling inkwell_internals v0.11.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking clap v4.5.39
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking caelis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Ast`
[INFO] [stdout]  --> src/compiler/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Ast, Def, Name, TypeRef};
[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: `arcstr::Substr`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arcstr::Substr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ast`
[INFO] [stdout]  --> src/compiler/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Ast, Def, Name, TypeRef};
[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: `arcstr::Substr`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use arcstr::Substr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic_args`
[INFO] [stdout]   --> src/compiler/types.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         generic_args: Option<&Vec<(Name, Vec<TypeRef>)>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codegen`
[INFO] [stdout]   --> src/compiler/types.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn llvm_type(&self, codegen: &CodeGen<'ctx>) -> BasicTypeEnum<'ctx> {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]   --> src/compiler/mod.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn resolve_type_ref(&self, type_ref: &TypeRef) -> Result<TypeLink> {
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/compiler/mod.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init_types(context: &'ctx Context) -> Vec<DynType<'ctx>> {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic_args`
[INFO] [stdout]   --> src/compiler/types.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         generic_args: Option<&Vec<(Name, Vec<TypeRef>)>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codegen`
[INFO] [stdout]   --> src/compiler/types.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn llvm_type(&self, codegen: &CodeGen<'ctx>) -> BasicTypeEnum<'ctx> {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_ref`
[INFO] [stdout]   --> src/compiler/mod.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn resolve_type_ref(&self, type_ref: &TypeRef) -> Result<TypeLink> {
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/compiler/mod.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init_types(context: &'ctx Context) -> Vec<DynType<'ctx>> {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]   --> src/compiler/mod.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         for def in ast.iter().filter_map(|def| match def {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codegen`
[INFO] [stdout]   --> src/compiler/mod.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let codegen = CodeGen::new(&module_name, decl_info);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]   --> src/compiler/mod.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         for def in ast.iter().filter_map(|def| match def {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codegen`
[INFO] [stdout]   --> src/compiler/mod.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let codegen = CodeGen::new(&module_name, decl_info);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Root` is never constructed
[INFO] [stdout]   --> src/ast.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Root {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `args` are never read
[INFO] [stdout]   --> src/ast.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct GenericDef {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 42 |     pub text: Substr,
[INFO] [stdout] 43 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 44 |     pub args: Vec<(Name, Vec<TypeRef>)>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenericDef` 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: fields `name` and `body` are never read
[INFO] [stdout]   --> src/ast.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ValueDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 49 |     pub text: Substr,
[INFO] [stdout] 50 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 51 |     pub body: Expr,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueDef` 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: fields `name` and `fields` are never read
[INFO] [stdout]   --> src/ast.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TypeDef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 56 |     pub text: Substr,
[INFO] [stdout] 57 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 58 |     pub fields: Vec<(Name, TypeRef)>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeDef` 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: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Named(Substr, Name, Vec<TypeRef>),
[INFO] [stdout]    |     -----         ^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 72 -     Named(Substr, Name, Vec<TypeRef>),
[INFO] [stdout] 72 +     Named(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |     Function(Substr, Box<TypeRef>, Box<TypeRef>),
[INFO] [stdout]    |     --------         ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 73 -     Function(Substr, Box<TypeRef>, Box<TypeRef>),
[INFO] [stdout] 73 +     Function(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     SymbolRef(Substr, Name),
[INFO] [stdout]    |     ---------         ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 87 -     SymbolRef(Substr, Name),
[INFO] [stdout] 87 +     SymbolRef(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1`, `2`, `3`, and `4` are never read
[INFO] [stdout]   --> src/ast.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     Func(Substr, Name, TypeRef, Option<TypeRef>, Box<Expr>),
[INFO] [stdout]    |     ----         ^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 88 -     Func(Substr, Name, TypeRef, Option<TypeRef>, Box<Expr>),
[INFO] [stdout] 88 +     Func(Substr, (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Call(Substr, Box<Expr>, Box<Expr>),
[INFO] [stdout]    |     ----         ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 89 -     Call(Substr, Box<Expr>, Box<Expr>),
[INFO] [stdout] 89 +     Call(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1`, `2`, and `3` are never read
[INFO] [stdout]   --> src/ast.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     IfThenElse(Substr, Box<Expr>, Box<Expr>, Box<Expr>),
[INFO] [stdout]    |     ----------         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 90 -     IfThenElse(Substr, Box<Expr>, Box<Expr>, Box<Expr>),
[INFO] [stdout] 90 +     IfThenElse(Substr, (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |     LetIn(Substr, Vec<ValueDef>, Box<Expr>),
[INFO] [stdout]    |     -----         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 91 -     LetIn(Substr, Vec<ValueDef>, Box<Expr>),
[INFO] [stdout] 91 +     LetIn(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Float(Substr, f64),
[INFO] [stdout]    |     -----         ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 92 -     Float(Substr, f64),
[INFO] [stdout] 92 +     Float(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Int(Substr, f64),
[INFO] [stdout]    |     ---         ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     Int(Substr, f64),
[INFO] [stdout] 93 +     Int(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodeGen` is never constructed
[INFO] [stdout]   --> src/compiler/mod.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct CodeGen<'ctx> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve_type_ref` are never used
[INFO] [stdout]   --> src/compiler/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'ctx> CodeGen<'ctx> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(module_name: &str, decl_info: DeclInfo<'ctx>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn resolve_type_ref(&self, type_ref: &TypeRef) -> Result<TypeLink> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeclInfo` is never constructed
[INFO] [stdout]   --> src/compiler/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct DeclInfo<'ctx> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init_types`, `init_values`, and `populate` are never used
[INFO] [stdout]   --> src/compiler/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<'ctx> DeclInfo<'ctx> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(context: &'ctx Context) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn init_types(context: &'ctx Context) -> Vec<DynType<'ctx>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn init_values() -> HashMap<Name, Value<'ctx>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn populate<'src>(&mut self, ast: &'src Vec<Def>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]   --> src/compiler/mod.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn compile<'src>(module_name: String, ast: &'src Vec<Def>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DynType` is never used
[INFO] [stdout]   --> src/compiler/types.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type DynType<'ctx> = Box<dyn Type<'ctx> + 'ctx>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Type` is never used
[INFO] [stdout]   --> src/compiler/types.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Type<'ctx>: Debug {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeLink` is never constructed
[INFO] [stdout]   --> src/compiler/types.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TypeLink(usize);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/compiler/types.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Struct<'ctx> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StructFields` is never used
[INFO] [stdout]   --> src/compiler/types.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum StructFields {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/compiler/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'ctx> Struct<'ctx> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 47 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Root` is never constructed
[INFO] [stdout]   --> src/ast.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Root {
[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 `PrimitiveType` is never used
[INFO] [stdout]   --> src/compiler/types.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum PrimitiveType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Value` is never constructed
[INFO] [stdout]  --> src/compiler/values.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Value<'ctx> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `args` are never read
[INFO] [stdout]   --> src/ast.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct GenericDef {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 42 |     pub text: Substr,
[INFO] [stdout] 43 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 44 |     pub args: Vec<(Name, Vec<TypeRef>)>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GenericDef` 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: fields `name` and `body` are never read
[INFO] [stdout]   --> src/ast.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ValueDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 49 |     pub text: Substr,
[INFO] [stdout] 50 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 51 |     pub body: Expr,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueDef` 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: fields `name` and `fields` are never read
[INFO] [stdout]   --> src/ast.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TypeDef {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 56 |     pub text: Substr,
[INFO] [stdout] 57 |     pub name: Name,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 58 |     pub fields: Vec<(Name, TypeRef)>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeDef` 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: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Named(Substr, Name, Vec<TypeRef>),
[INFO] [stdout]    |     -----         ^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 72 -     Named(Substr, Name, Vec<TypeRef>),
[INFO] [stdout] 72 +     Named(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |     Function(Substr, Box<TypeRef>, Box<TypeRef>),
[INFO] [stdout]    |     --------         ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 73 -     Function(Substr, Box<TypeRef>, Box<TypeRef>),
[INFO] [stdout] 73 +     Function(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     SymbolRef(Substr, Name),
[INFO] [stdout]    |     ---------         ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 87 -     SymbolRef(Substr, Name),
[INFO] [stdout] 87 +     SymbolRef(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1`, `2`, `3`, and `4` are never read
[INFO] [stdout]   --> src/ast.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     Func(Substr, Name, TypeRef, Option<TypeRef>, Box<Expr>),
[INFO] [stdout]    |     ----         ^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 88 -     Func(Substr, Name, TypeRef, Option<TypeRef>, Box<Expr>),
[INFO] [stdout] 88 +     Func(Substr, (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Call(Substr, Box<Expr>, Box<Expr>),
[INFO] [stdout]    |     ----         ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 89 -     Call(Substr, Box<Expr>, Box<Expr>),
[INFO] [stdout] 89 +     Call(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1`, `2`, and `3` are never read
[INFO] [stdout]   --> src/ast.rs:90:24
[INFO] [stdout]    |
[INFO] [stdout] 90 |     IfThenElse(Substr, Box<Expr>, Box<Expr>, Box<Expr>),
[INFO] [stdout]    |     ----------         ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 90 -     IfThenElse(Substr, Box<Expr>, Box<Expr>, Box<Expr>),
[INFO] [stdout] 90 +     IfThenElse(Substr, (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]   --> src/ast.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |     LetIn(Substr, Vec<ValueDef>, Box<Expr>),
[INFO] [stdout]    |     -----         ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 91 -     LetIn(Substr, Vec<ValueDef>, Box<Expr>),
[INFO] [stdout] 91 +     LetIn(Substr, (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Float(Substr, f64),
[INFO] [stdout]    |     -----         ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 92 -     Float(Substr, f64),
[INFO] [stdout] 92 +     Float(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]   --> src/ast.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Int(Substr, f64),
[INFO] [stdout]    |     ---         ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     Int(Substr, f64),
[INFO] [stdout] 93 +     Int(Substr, ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CodeGen` is never constructed
[INFO] [stdout]   --> src/compiler/mod.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct CodeGen<'ctx> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve_type_ref` are never used
[INFO] [stdout]   --> src/compiler/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'ctx> CodeGen<'ctx> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(module_name: &str, decl_info: DeclInfo<'ctx>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn resolve_type_ref(&self, type_ref: &TypeRef) -> Result<TypeLink> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeclInfo` is never constructed
[INFO] [stdout]   --> src/compiler/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct DeclInfo<'ctx> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init_types`, `init_values`, and `populate` are never used
[INFO] [stdout]   --> src/compiler/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<'ctx> DeclInfo<'ctx> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(context: &'ctx Context) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn init_types(context: &'ctx Context) -> Vec<DynType<'ctx>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn init_values() -> HashMap<Name, Value<'ctx>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn populate<'src>(&mut self, ast: &'src Vec<Def>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]   --> src/compiler/mod.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn compile<'src>(module_name: String, ast: &'src Vec<Def>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DynType` is never used
[INFO] [stdout]   --> src/compiler/types.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type DynType<'ctx> = Box<dyn Type<'ctx> + 'ctx>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Type` is never used
[INFO] [stdout]   --> src/compiler/types.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Type<'ctx>: Debug {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeLink` is never constructed
[INFO] [stdout]   --> src/compiler/types.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TypeLink(usize);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Struct` is never constructed
[INFO] [stdout]   --> src/compiler/types.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Struct<'ctx> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StructFields` is never used
[INFO] [stdout]   --> src/compiler/types.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum StructFields {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/compiler/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<'ctx> Struct<'ctx> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 47 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrimitiveType` is never used
[INFO] [stdout]   --> src/compiler/types.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum PrimitiveType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Value` is never constructed
[INFO] [stdout]  --> src/compiler/values.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Value<'ctx> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.55s
[INFO] running `Command { std: "docker" "inspect" "633c9b83db0cc0040feb7e7c4ab739a4212705c011e6bf0c5b380a7f2fe3baaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "633c9b83db0cc0040feb7e7c4ab739a4212705c011e6bf0c5b380a7f2fe3baaa", kill_on_drop: false }`
[INFO] [stdout] 633c9b83db0cc0040feb7e7c4ab739a4212705c011e6bf0c5b380a7f2fe3baaa
