[INFO] cloning repository https://github.com/samthcode/ribbon-prototyping
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/samthcode/ribbon-prototyping" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamthcode%2Fribbon-prototyping", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamthcode%2Fribbon-prototyping'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a253f80b2a64f675d86ca9d72405148fae837bd8
[INFO] checking samthcode/ribbon-prototyping against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamthcode%2Fribbon-prototyping" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/samthcode/ribbon-prototyping
[INFO] finished tweaking git repo https://github.com/samthcode/ribbon-prototyping
[INFO] tweaked toml for git repo https://github.com/samthcode/ribbon-prototyping written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/samthcode/ribbon-prototyping on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/samthcode/ribbon-prototyping 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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos v0.16.0
[INFO] [stderr]   Downloaded string-interner v0.19.0
[INFO] [stderr]   Downloaded logos-derive v0.16.0
[INFO] [stderr]   Downloaded chumsky v0.12.0
[INFO] [stderr]   Downloaded logos-codegen v0.16.0
[INFO] [stderr]   Downloaded ariadne v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 984713cf24f338a939b52d38da8cc9fcc7c5279219e211373abb72dd7fbd69b1
[INFO] running `Command { std: "docker" "start" "-a" "984713cf24f338a939b52d38da8cc9fcc7c5279219e211373abb72dd7fbd69b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "984713cf24f338a939b52d38da8cc9fcc7c5279219e211373abb72dd7fbd69b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "984713cf24f338a939b52d38da8cc9fcc7c5279219e211373abb72dd7fbd69b1", kill_on_drop: false }`
[INFO] [stdout] 984713cf24f338a939b52d38da8cc9fcc7c5279219e211373abb72dd7fbd69b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9fe050987b800fd7e6a9e1e8fd89c6a3657e3c275280ed1d0486f7bccca9c302
[INFO] running `Command { std: "docker" "start" "-a" "9fe050987b800fd7e6a9e1e8fd89c6a3657e3c275280ed1d0486f7bccca9c302", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]     Checking ariadne v0.6.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling stacker v0.1.22
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]     Checking string-interner v0.19.0
[INFO] [stderr]    Compiling ar_archive_writer v0.2.0
[INFO] [stderr]    Compiling psm v0.1.28
[INFO] [stderr]     Checking chumsky v0.12.0
[INFO] [stderr]    Compiling logos-codegen v0.16.0
[INFO] [stderr]    Compiling logos-derive v0.16.0
[INFO] [stderr]     Checking logos v0.16.0
[INFO] [stderr]     Checking ribbon_chumsky v0.1.0 (/opt/rustwide/workdir/ribbon_chumsky)
[INFO] [stdout] warning: unused variable: `type_def`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |             ast::Item::TypeDef(type_def) => todo!(),
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_def`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ast::Expr::ListIndex(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned1`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ast::Expr::ListIndex(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ast::Expr::AnonFunc(func) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:88:37
[INFO] [stdout]    |
[INFO] [stdout] 88 |             ast::Expr::FunctionCall(spanned, spanneds) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanneds`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:88:46
[INFO] [stdout]    |
[INFO] [stdout] 88 |             ast::Expr::FunctionCall(spanned, spanneds) => todo!(),
[INFO] [stdout]    |                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanneds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:89:36
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ast::Expr::FieldAccess(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned1`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:89:45
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ast::Expr::FieldAccess(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_style_call`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |             ast::Expr::MethodCall(method_style_call) => todo!(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_style_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_style_call`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:91:44
[INFO] [stdout]    |
[INFO] [stdout] 91 |             ast::Expr::ChainedFunctionCall(method_style_call) => todo!(),
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_style_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:96:56
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn lower_binding(&mut self, binding: ast::Binding, span: Span) -> ir::Binding {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanneds`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:189:27
[INFO] [stdout]     |
[INFO] [stdout] 189 |             ast::Ty::Func(spanneds, spanned) => todo!(),
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanneds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |             ast::Ty::Func(spanneds, spanned) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:193:47
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn lower_path(&mut self, path: ast::Path, span: Span) -> ir::Path {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_def`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |             ast::Item::TypeDef(type_def) => todo!(),
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_def`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ast::Expr::ListIndex(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned1`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:73:43
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ast::Expr::ListIndex(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:86:33
[INFO] [stdout]    |
[INFO] [stdout] 86 |             ast::Expr::AnonFunc(func) => todo!(),
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:88:37
[INFO] [stdout]    |
[INFO] [stdout] 88 |             ast::Expr::FunctionCall(spanned, spanneds) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanneds`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:88:46
[INFO] [stdout]    |
[INFO] [stdout] 88 |             ast::Expr::FunctionCall(spanned, spanneds) => todo!(),
[INFO] [stdout]    |                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanneds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:89:36
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ast::Expr::FieldAccess(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned1`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:89:45
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ast::Expr::FieldAccess(spanned, spanned1) => todo!(),
[INFO] [stdout]    |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_style_call`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |             ast::Expr::MethodCall(method_style_call) => todo!(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_style_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_style_call`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:91:44
[INFO] [stdout]    |
[INFO] [stdout] 91 |             ast::Expr::ChainedFunctionCall(method_style_call) => todo!(),
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_style_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> ribbon_chumsky/src/lower.rs:96:56
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn lower_binding(&mut self, binding: ast::Binding, span: Span) -> ir::Binding {
[INFO] [stdout]    |                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanneds`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:189:27
[INFO] [stdout]     |
[INFO] [stdout] 189 |             ast::Ty::Func(spanneds, spanned) => todo!(),
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanneds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spanned`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |             ast::Ty::Func(spanneds, spanned) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spanned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> ribbon_chumsky/src/lower.rs:193:47
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn lower_path(&mut self, path: ast::Path, span: Span) -> ir::Path {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Struct(Spanned<Ident<'src>>, Vec<Spanned<Field<'src>>>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 19 -     Struct(Spanned<Ident<'src>>, Vec<Spanned<Field<'src>>>),
[INFO] [stdout] 19 +     Struct((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Interface` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TypeDef<'src> {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     Interface(Spanned<Ident<'src>>, Vec<Spanned<Binding<'src>>>),
[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 `name` and `ty` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Field<'src> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 33 |     pub name: Spanned<Ident<'src>>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 34 |     pub ty: Spanned<Ty<'src>>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` 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: variant `Binding` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum Expr<'src> {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 56 |     Binding(Box<Binding<'src>>),
[INFO] [stdout]    |     ^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `object`, `function`, and `arguments` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct MethodStyleCall<'src, T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 77 |     pub object: Spanned<Expr<'src>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 78 |     pub function: Spanned<T>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub arguments: Option<Vec<Spanned<Expr<'src>>>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MethodStyleCall` 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 `params`, `ret_ty`, and `body` are never read
[INFO] [stdout]    --> ribbon_chumsky/src/ast.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct AnonFunc<'src> {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 187 |     pub params: Vec<Spanned<Param<'src>>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 188 |     pub ret_ty: Option<Spanned<Ty<'src>>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 189 |     pub body: Spanned<Expr<'src>>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnonFunc` 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: field `interner` is never read
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Ir {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub interner: DefaultStringInterner,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ir` 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: variant `TypeDef` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Item {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     TypeDef,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Item` 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: variants `Var`, `AnonFunc`, and `If` are never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 50 |     Var(DefId),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     AnonFunc {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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: variant `Tuple` is never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum PatKind {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] 154 |     Ident { name: Symbol, def_id: DefId },
[INFO] [stdout] 155 |     Tuple(Vec<PatId>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatKind` 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: variants `Type` and `Module` are never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum Def {
[INFO] [stdout]     |          --- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     Type {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     Module,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Def` 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: variant `Mutable` is never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Mutability {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 184 |     Not,
[INFO] [stdout] 185 |     Mutable,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mutability` 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: struct `TraversableScopeGraph` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct TraversableScopeGraph {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl TraversableScopeGraph {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 34 |     fn new(mut scope_graph: ScopeGraph) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolResolver` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct SymbolResolver<'ir> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve` are never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<'ir> SymbolResolver<'ir> {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout] 77 |     pub fn new(ir: &'ir mut Ir, scope_graph: ScopeGraph) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn resolve(&mut self) -> Result<(), Vec<&'static str>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `local_defs` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct Scope {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 91 |     kind: scope::ScopeKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 92 |     parent: Option<scope::ScopeIdx>,
[INFO] [stdout] 93 |     local_defs: HashMap<Symbol, DefId>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Named`, `Type`, and `Callsite` are never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/scope.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum ScopeKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Named(Symbol),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     /// The scope of a type definition, which contains associated functions, methods, etc.
[INFO] [stdout] 13 |     Type(DefId),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Callsite(DefId),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScopeKind` 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 `collect_def` is never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/visit.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait Visitor<'ir>: Sized {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn collect_def(&mut self, _def_id: &DefId) {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Struct(Spanned<Ident<'src>>, Vec<Spanned<Field<'src>>>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 19 -     Struct(Spanned<Ident<'src>>, Vec<Spanned<Field<'src>>>),
[INFO] [stdout] 19 +     Struct((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Interface` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TypeDef<'src> {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     Interface(Spanned<Ident<'src>>, Vec<Spanned<Binding<'src>>>),
[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 `name` and `ty` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Field<'src> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 33 |     pub name: Spanned<Ident<'src>>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 34 |     pub ty: Spanned<Ty<'src>>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` 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: variant `Binding` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum Expr<'src> {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 56 |     Binding(Box<Binding<'src>>),
[INFO] [stdout]    |     ^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `object`, `function`, and `arguments` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct MethodStyleCall<'src, T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 77 |     pub object: Spanned<Expr<'src>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 78 |     pub function: Spanned<T>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub arguments: Option<Vec<Spanned<Expr<'src>>>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MethodStyleCall` 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 `params`, `ret_ty`, and `body` are never read
[INFO] [stdout]    --> ribbon_chumsky/src/ast.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct AnonFunc<'src> {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 187 |     pub params: Vec<Spanned<Param<'src>>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 188 |     pub ret_ty: Option<Spanned<Ty<'src>>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 189 |     pub body: Spanned<Expr<'src>>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnonFunc` 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: field `interner` is never read
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Ir {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub interner: DefaultStringInterner,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ir` 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: variant `TypeDef` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Item {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     TypeDef,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Item` 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: variants `Var`, `AnonFunc`, and `If` are never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 50 |     Var(DefId),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     AnonFunc {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     If {
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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: variant `Tuple` is never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum PatKind {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] 154 |     Ident { name: Symbol, def_id: DefId },
[INFO] [stdout] 155 |     Tuple(Vec<PatId>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatKind` 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: variants `Type` and `Module` are never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum Def {
[INFO] [stdout]     |          --- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     Type {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     Module,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Def` 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: variant `Mutable` is never constructed
[INFO] [stdout]    --> ribbon_chumsky/src/ir.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Mutability {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 184 |     Not,
[INFO] [stdout] 185 |     Mutable,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mutability` 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: struct `TraversableScopeGraph` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct TraversableScopeGraph {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl TraversableScopeGraph {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 34 |     fn new(mut scope_graph: ScopeGraph) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolResolver` is never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct SymbolResolver<'ir> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `resolve` are never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<'ir> SymbolResolver<'ir> {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout] 77 |     pub fn new(ir: &'ir mut Ir, scope_graph: ScopeGraph) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn resolve(&mut self) -> Result<(), Vec<&'static str>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `local_defs` are never read
[INFO] [stdout]   --> ribbon_chumsky/src/ir/resolve.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct Scope {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 91 |     kind: scope::ScopeKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 92 |     parent: Option<scope::ScopeIdx>,
[INFO] [stdout] 93 |     local_defs: HashMap<Symbol, DefId>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Scope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Named`, `Type`, and `Callsite` are never constructed
[INFO] [stdout]   --> ribbon_chumsky/src/ir/scope.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum ScopeKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Named(Symbol),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     /// The scope of a type definition, which contains associated functions, methods, etc.
[INFO] [stdout] 13 |     Type(DefId),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Callsite(DefId),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScopeKind` 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 `collect_def` is never used
[INFO] [stdout]   --> ribbon_chumsky/src/ir/visit.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait Visitor<'ir>: Sized {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn collect_def(&mut self, _def_id: &DefId) {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.68s
[INFO] running `Command { std: "docker" "inspect" "9fe050987b800fd7e6a9e1e8fd89c6a3657e3c275280ed1d0486f7bccca9c302", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fe050987b800fd7e6a9e1e8fd89c6a3657e3c275280ed1d0486f7bccca9c302", kill_on_drop: false }`
[INFO] [stdout] 9fe050987b800fd7e6a9e1e8fd89c6a3657e3c275280ed1d0486f7bccca9c302
