[INFO] cloning repository https://github.com/yportne13/elaboration-zoo-lsp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yportne13/elaboration-zoo-lsp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4cf2bcca0d0288f1f28f42b40d5c846482b7448e
[INFO] checking yportne13/elaboration-zoo-lsp against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/yportne13/elaboration-zoo-lsp
[INFO] finished tweaking git repo https://github.com/yportne13/elaboration-zoo-lsp
[INFO] tweaked toml for git repo https://github.com/yportne13/elaboration-zoo-lsp written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yportne13/elaboration-zoo-lsp on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yportne13/elaboration-zoo-lsp 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.219
[INFO] [stderr]   Downloaded unicode-ident v1.0.18
[INFO] [stderr]   Downloaded mintex v0.1.4
[INFO] [stderr]   Downloaded mimalloc v0.1.52
[INFO] [stderr]   Downloaded thousands v0.2.0
[INFO] [stderr]   Downloaded env_filter v1.0.1
[INFO] [stderr]   Downloaded str_stack v0.1.1
[INFO] [stderr]   Downloaded quote v1.0.40
[INFO] [stderr]   Downloaded lsp-server v0.7.8
[INFO] [stderr]   Downloaded env_logger v0.11.10
[INFO] [stderr]   Downloaded str_indices v0.4.4
[INFO] [stderr]   Downloaded litemap v0.7.5
[INFO] [stderr]   Downloaded smol_str v0.3.2
[INFO] [stderr]   Downloaded clap_derive v4.5.55
[INFO] [stderr]   Downloaded colored v2.2.0
[INFO] [stderr]   Downloaded dhat v0.3.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.94
[INFO] [stderr]   Downloaded smallvec v1.14.0
[INFO] [stderr]   Downloaded clap v4.5.60
[INFO] [stderr]   Downloaded lsp-types v0.95.1
[INFO] [stderr]   Downloaded serde v1.0.219
[INFO] [stderr]   Downloaded cc v1.2.48
[INFO] [stderr]   Downloaded inferno v0.12.6
[INFO] [stderr]   Downloaded ropey v1.6.1
[INFO] [stderr]   Downloaded serde_json v1.0.140
[INFO] [stderr]   Downloaded clap_builder v4.5.60
[INFO] [stderr]   Downloaded syn v2.0.100
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.49
[INFO] [stderr]   Downloaded libc v0.2.177
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e
[INFO] running `Command { std: "docker" "start" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking log v0.4.30
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking str_indices v0.4.4
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking bumpalo v3.20.3
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking smol_str v0.3.2
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking codespan-reporting v0.13.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.49
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking mimalloc v0.1.52
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking lsp-server v0.7.8
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking lsp-types v0.95.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking elaboration-zoo-lsp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `hash::Hash`, `marker::PhantomData`, and `ops::Add`
[INFO] [stdout]  --> src/parser_lib_resilient.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add, hash::Hash, marker::PhantomData};
[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 imports: `Pattern` and `Severity`
[INFO] [stdout]  --> src/parser_lib_resilient.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::parser_lib::{Span, ToSpan, Severity, Diagnostic, unescape, Pattern};
[INFO] [stdout]   |                                           ^^^^^^^^                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::Config`
[INFO] [stdout]   --> src/doc/collect.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Closure`
[INFO] [stdout]  --> src/L08_product_type/cxt.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Closure, Env, Infer, Ix, Lvl, Tm, Ty, Val, VTy,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list::List`
[INFO] [stdout]  --> src/L08_product_type/parser/syntax.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]   --> src/L09_mltt/mod.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parser::syntax::{Either, Icit};
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm`
[INFO] [stdout]  --> src/L09_mltt/unification.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Subst, Tm, UnifyError, VTy, Val,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     cxt::Cxt, lvl2ix, v_applicable, val_mentions_lvl, wrap_sub,
[INFO] [stdout] 6 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]  --> src/L10_typeclass/mod.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser::syntax::{Either, Icit, Raw};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet` and `HashMap`
[INFO] [stdout]  --> src/L10_typeclass/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]  --> src/L11_macro/mod.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser::{syntax::{Either, Icit, Raw}, IError};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L11_macro/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet` and `HashMap`
[INFO] [stdout]  --> src/L11_macro/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty::pretty_tm`
[INFO] [stdout]  --> src/L11_macro/unification.rs:5:56
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L12_canonical/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet`, `HashMap`, and `HashSet`
[INFO] [stdout]  --> src/L12_canonical/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty::pretty_tm`
[INFO] [stdout]  --> src/L12_canonical/unification.rs:7:56
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::L12_canonical::MetaVar as CMetaVar`
[INFO] [stdout]    --> src/L12_canonical/bump_spine_iter.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | use crate::L12_canonical::MetaVar as CMetaVar;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1249:1
[INFO] [stdout]      |
[INFO] [stdout] 1249 | / /// `simpl_decl` 的 decl 缓存（自函数体提升至模块级）：`Drop for
[INFO] [stdout] 1250 | | /// PreludeSlot` 推池前要能清空它（见该处的约束注释）。
[INFO] [stdout]      | |_------------------------------------------------------^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimFunc`
[INFO] [stdout]  --> src/L13_namespace/elaboration.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Closure, Cxt, DeclTm, Error, Infer, Ix, PrimFunc, Tm, VTy, Val,
[INFO] [stdout]   |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L13_namespace/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSpan`
[INFO] [stdout]  --> src/L13_namespace/parser/derive.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ix`
[INFO] [stdout]   --> src/L13_namespace/parser/mod.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{empty_span, Ix, Rc, Tm, Val};
[INFO] [stdout]    |                         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> src/L13_namespace/parser/mod.rs:1189:54
[INFO] [stdout]      |
[INFO] [stdout] 1189 | ...                   lhs = Raw::Hole((w.to_span() + tk.to_span()));
[INFO] [stdout]      |                                       ^                          ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1189 -                                         lhs = Raw::Hole((w.to_span() + tk.to_span()));
[INFO] [stdout] 1189 +                                         lhs = Raw::Hole(w.to_span() + tk.to_span());
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/L13_namespace/unification.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / /// [`Infer::solve_multi_trait`] 的待解条目快照缓冲池：旧实现每次调用
[INFO] [stdout] 18 | | /// `self.trait_metas.clone()` 整表快照（该表整个会话保持 prelude 规模），
[INFO] [stdout] 19 | | /// 改为 retain 单遍 + 待解条目收进带所有权的小缓冲，按 LIFO 复用（嵌套
[INFO] [stdout] 20 | | /// solve 重入链各取各的缓冲，互不踩），暖机后零分配。池上限 = 最大 solve
[INFO] [stdout] 21 | | /// 重入深度。见 twin 侧同点位 `bump_spine_iter/typeclass.rs` 的
[INFO] [stdout] 22 | | /// TRAIT_METAS_SNAP_POOL（12c23b9，含 A/B 数据）。
[INFO] [stdout]    | |_--------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Assertion` and `pretty::pretty_tm`
[INFO] [stdout]   --> src/L13_namespace/unification.rs:9:76
[INFO] [stdout]    |
[INFO] [stdout]  9 |     is_nat_sum, lvl2ix, parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm,
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     typeclass::{Assertion, Instance}, Raw, Rc, Decl,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lvl`, `MetaEntry`, `Span`, and `Tm`
[INFO] [stdout]  --> src/L13_namespace/canonical.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Span,
[INFO] [stdout]   |            ^^^^^^^^^                            ^^^^
[INFO] [stdout] 4 |     Tm, Lvl, List,
[INFO] [stdout]   |     ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter.rs:197:1
[INFO] [stdout]     |
[INFO] [stdout] 197 | / /// 构造子可达性探测次数（`compiler::probe_accessible` 入口自增）。与参考版
[INFO] [stdout] 198 | | /// `pattern_match::PROBE_COUNT` 同口径，用于"次数差异 vs 单价差异"的判别——
[INFO] [stdout] 199 | | /// `l13lspsample` 打印采样窗口内的增量（累计值含 prelude 与预热 kick，不可
[INFO] [stdout] 200 | | /// 直接跨引擎比）。
[INFO] [stdout]     | |_-------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/typeclass.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | / /// solve_multi_trait 的待解条目快照缓冲池（S1 轮）：旧实现每次调用
[INFO] [stdout] 65 | | /// `self.trait_metas.clone()`——整表快照（prelude-hdl 实测均值 3234 条、
[INFO] [stdout] 66 | | /// 峰值 6585 条）× 每次 trait 求解一次（实测 5 万次/轮）= 每轮数百 MB 的
[INFO] [stdout] 67 | | /// 分配 + memcpy 大户。retain+过滤后真正待解的条目通常个位数，改为进
[INFO] [stdout] 68 | | /// **带所有权的小缓冲**：池按 LIFO 复用（嵌套 solve → solve → trait_wrap
[INFO] [stdout] 69 | | /// 探测 → 再 solve 的重入链各自取各的缓冲，互不踩），暖机后零分配。
[INFO] [stdout]    | |_-------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser`
[INFO] [stdout]    --> src/lib.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 | use L13_namespace::parser::{parser, parser_with_macros, macros::MacroRule, MacroExpansionInfo};
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `stdin`, and `stdout`
[INFO] [stdout]    --> src/lib.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |               ^^^^                  ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]    --> src/lib.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | use std::thread;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `codespan_reporting::term::emit`: Use `emit_to_write_style` instead or depending on the writer use `emit_to_io_write` or `emit_to_string`
[INFO] [stdout]   --> src/client.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |         term::emit(&mut writer, &config, &files, cs_diag).unwrap();
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hash::Hash`, `marker::PhantomData`, and `ops::Add`
[INFO] [stdout]  --> src/parser_lib_resilient.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add, hash::Hash, marker::PhantomData};
[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 imports: `Pattern` and `Severity`
[INFO] [stdout]  --> src/parser_lib_resilient.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::parser_lib::{Span, ToSpan, Severity, Diagnostic, unescape, Pattern};
[INFO] [stdout]   |                                           ^^^^^^^^                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::Config`
[INFO] [stdout]   --> src/doc/collect.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Closure`
[INFO] [stdout]  --> src/L08_product_type/cxt.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Closure, Env, Infer, Ix, Lvl, Tm, Ty, Val, VTy,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list::List`
[INFO] [stdout]  --> src/L08_product_type/parser/syntax.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]   --> src/L09_mltt/mod.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parser::syntax::{Either, Icit};
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm`
[INFO] [stdout]  --> src/L09_mltt/unification.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Subst, Tm, UnifyError, VTy, Val,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     cxt::Cxt, lvl2ix, v_applicable, val_mentions_lvl, wrap_sub,
[INFO] [stdout] 6 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]  --> src/L10_typeclass/mod.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser::syntax::{Either, Icit, Raw};
[INFO] [stdout]   |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet` and `HashMap`
[INFO] [stdout]  --> src/L10_typeclass/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Either`
[INFO] [stdout]  --> src/L11_macro/mod.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use parser::{syntax::{Either, Icit, Raw}, IError};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L11_macro/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet` and `HashMap`
[INFO] [stdout]  --> src/L11_macro/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty::pretty_tm`
[INFO] [stdout]  --> src/L11_macro/unification.rs:5:56
[INFO] [stdout]   |
[INFO] [stdout] 5 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L12_canonical/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeSet`, `HashMap`, and `HashSet`
[INFO] [stdout]  --> src/L12_canonical/pattern_match.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{BTreeSet, HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty::pretty_tm`
[INFO] [stdout]  --> src/L12_canonical/unification.rs:7:56
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl,
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::L12_canonical::MetaVar as CMetaVar`
[INFO] [stdout]    --> src/L12_canonical/bump_spine_iter.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | use crate::L12_canonical::MetaVar as CMetaVar;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1249:1
[INFO] [stdout]      |
[INFO] [stdout] 1249 | / /// `simpl_decl` 的 decl 缓存（自函数体提升至模块级）：`Drop for
[INFO] [stdout] 1250 | | /// PreludeSlot` 推池前要能清空它（见该处的约束注释）。
[INFO] [stdout]      | |_------------------------------------------------------^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimFunc`
[INFO] [stdout]  --> src/L13_namespace/elaboration.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Closure, Cxt, DeclTm, Error, Infer, Ix, PrimFunc, Tm, VTy, Val,
[INFO] [stdout]   |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `extract_base`
[INFO] [stdout]  --> src/L13_namespace/parser/macros.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, owned_tokens_to_string...
[INFO] [stdout]   |                                ^^^^^^^                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSpan`
[INFO] [stdout]  --> src/L13_namespace/parser/derive.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ix`
[INFO] [stdout]   --> src/L13_namespace/parser/mod.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{empty_span, Ix, Rc, Tm, Val};
[INFO] [stdout]    |                         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]     --> src/L13_namespace/parser/mod.rs:1189:54
[INFO] [stdout]      |
[INFO] [stdout] 1189 | ...                   lhs = Raw::Hole((w.to_span() + tk.to_span()));
[INFO] [stdout]      |                                       ^                          ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1189 -                                         lhs = Raw::Hole((w.to_span() + tk.to_span()));
[INFO] [stdout] 1189 +                                         lhs = Raw::Hole(w.to_span() + tk.to_span());
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/L13_namespace/unification.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / /// [`Infer::solve_multi_trait`] 的待解条目快照缓冲池：旧实现每次调用
[INFO] [stdout] 18 | | /// `self.trait_metas.clone()` 整表快照（该表整个会话保持 prelude 规模），
[INFO] [stdout] 19 | | /// 改为 retain 单遍 + 待解条目收进带所有权的小缓冲，按 LIFO 复用（嵌套
[INFO] [stdout] 20 | | /// solve 重入链各取各的缓冲，互不踩），暖机后零分配。池上限 = 最大 solve
[INFO] [stdout] 21 | | /// 重入深度。见 twin 侧同点位 `bump_spine_iter/typeclass.rs` 的
[INFO] [stdout] 22 | | /// TRAIT_METAS_SNAP_POOL（12c23b9，含 A/B 数据）。
[INFO] [stdout]    | |_--------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Assertion` and `pretty::pretty_tm`
[INFO] [stdout]   --> src/L13_namespace/unification.rs:9:76
[INFO] [stdout]    |
[INFO] [stdout]  9 |     is_nat_sum, lvl2ix, parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm,
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     typeclass::{Assertion, Instance}, Raw, Rc, Decl,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lvl`, `MetaEntry`, `Span`, and `Tm`
[INFO] [stdout]  --> src/L13_namespace/canonical.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Span,
[INFO] [stdout]   |            ^^^^^^^^^                            ^^^^
[INFO] [stdout] 4 |     Tm, Lvl, List,
[INFO] [stdout]   |     ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter.rs:197:1
[INFO] [stdout]     |
[INFO] [stdout] 197 | / /// 构造子可达性探测次数（`compiler::probe_accessible` 入口自增）。与参考版
[INFO] [stdout] 198 | | /// `pattern_match::PROBE_COUNT` 同口径，用于"次数差异 vs 单价差异"的判别——
[INFO] [stdout] 199 | | /// `l13lspsample` 打印采样窗口内的增量（累计值含 prelude 与预热 kick，不可
[INFO] [stdout] 200 | | /// 直接跨引擎比）。
[INFO] [stdout]     | |_-------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/typeclass.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | / /// solve_multi_trait 的待解条目快照缓冲池（S1 轮）：旧实现每次调用
[INFO] [stdout] 65 | | /// `self.trait_metas.clone()`——整表快照（prelude-hdl 实测均值 3234 条、
[INFO] [stdout] 66 | | /// 峰值 6585 条）× 每次 trait 求解一次（实测 5 万次/轮）= 每轮数百 MB 的
[INFO] [stdout] 67 | | /// 分配 + memcpy 大户。retain+过滤后真正待解的条目通常个位数，改为进
[INFO] [stdout] 68 | | /// **带所有权的小缓冲**：池按 LIFO 复用（嵌套 solve → solve → trait_wrap
[INFO] [stdout] 69 | | /// 探测 → 再 solve 的重入链各自取各的缓冲，互不踩），暖机后零分配。
[INFO] [stdout]    | |_-------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/L13_namespace/struct_refine_probe.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | /// identity_vec: 重建构造函数，非绑定变量，应通过。
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | /// 直接 Vec 匹配，重建构造函数，应通过。
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | /// 非索引依赖的返回类型（A），预约束的类型 sucessor，通过。
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | /// 嵌套结构体，预约束类型，通过。
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | /// 不返回绑定变量，而是返回无类型依赖的值。
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | / /// 直接 Vec 匹配，返回绑定变量 xs。最简复现。
[INFO] [stdout] 158 | | /// 失败模式：expected: Vec[A](_l + 1), find: Vec[A](_l)
[INFO] [stdout] 159 | | /// 原因：绑定 xs 的类型为 Vec[A] l'，但返回类型被细化为 Vec[A] (succ l')，无法统一。
[INFO] [stdout]     | |_------------------------------------------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / /// 单层 struct，泛型 len，返回绑定变量 xs。
[INFO] [stdout] 169 | | /// 失败模式：expected: Vec[A](_l + 1), find: Vec[A](_l)
[INFO] [stdout]     | |_-------------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / /// 两个字段，第二个字段类型依赖第一个字段的索引细化。
[INFO] [stdout] 183 | | /// 失败模式：expected: Fin(len + 1), find: Fin(1) 或反向。
[INFO] [stdout] 184 | | /// 原因：绑定 w 的类型 Fin(succ len) 中的 len 是原始的、未经 cons/nil 细化的变量。
[INFO] [stdout]     | |_----------------------------------------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:198:1
[INFO] [stdout]     |
[INFO] [stdout] 198 | / /// 嵌套 struct，泛型 len，返回绑定尾部变量。
[INFO] [stdout] 199 | | /// 失败模式同 weak02。
[INFO] [stdout]     | |_----------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | / /// VecHolder: Vec[A] len + Fin(succ len)，递归重建。
[INFO] [stdout] 212 | | /// 失败模式：expected: Fin(_l + 2), find: Fin(_n + 1)
[INFO] [stdout] 213 | | /// 原因：第一个字段匹配 cons (len:=succ l') 与第二个字段匹配 fsucc (len:=n) 的细化
[INFO] [stdout] 214 | | /// 没有传播到对方，导致 n 和 succ l' 无法统一。
[INFO] [stdout]     | |_-----------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/L13_namespace/struct_refine_probe.rs:231:1
[INFO] [stdout]     |
[INFO] [stdout] 231 | / /// 返回值是重建结构体，使用了从内部字段提取的变量。
[INFO] [stdout] 232 | | /// 成功/失败？
[INFO] [stdout]     | |_--------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `assert_expected_fail`
[INFO] [stdout]   --> src/L13_namespace/struct_refine_probe.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 | macro_rules! assert_expected_fail {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser`
[INFO] [stdout]    --> src/lib.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 | use L13_namespace::parser::{parser, parser_with_macros, macros::MacroRule, MacroExpansionInfo};
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `stdin`, and `stdout`
[INFO] [stdout]    --> src/lib.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |               ^^^^                  ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]    --> src/lib.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | use std::thread;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `codespan_reporting::term::emit`: Use `emit_to_write_style` instead or depending on the writer use `emit_to_io_write` or `emit_to_string`
[INFO] [stdout]   --> src/client.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |         term::emit(&mut writer, &config, &files, cs_diag).unwrap();
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]    --> src/lib.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]    --> src/lib.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/elaboration.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/unification.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/parser_lib_resilient.rs:22:71
[INFO] [stdout]    |
[INFO] [stdout] 22 |         move |input, state: &mut S| self.parse(input, state).or_else(|e| rhs.parse(input, state))//TODO: err combine
[INFO] [stdout]    |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/client.rs:177:75
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn publish_diagnostics(&self, uri: Url, diagnostics: Vec<Diagnostic>, version: Option<i32>) {
[INFO] [stdout]     |                                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> src/L03_holes/mod.rs:360:32
[INFO] [stdout]     |
[INFO] [stdout] 360 |             Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> src/L04_implicit/mod.rs:369:32
[INFO] [stdout]     |
[INFO] [stdout] 369 |             Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:283:48
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn new_binder(&self, x: Name, a_quote: Tm, a: Val) -> Cxt {
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L05_pruning/mod.rs:844:36
[INFO] [stdout]     |
[INFO] [stdout] 844 |         fn go(inf: &Infer, l: Lvl, mut a: VTy, l_prime: Lvl, t: Tm) -> Tm {
[INFO] [stdout]     |                                    ----^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L06_string/unification.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 Val::Pi(span, icit, val, closure) => Tm::Lam(
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L07_sum_type/unification.rs:726:13
[INFO] [stdout]     |
[INFO] [stdout] 726 |         let mut go = |this: &mut Self,
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]    --> src/lib.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]    --> src/lib.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 | use std::io::{self, BufRead, Write, stdin, stdout};
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/unification.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored::Colorize`
[INFO] [stdout]  --> src/L13_namespace/elaboration.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use colored::Colorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/parser_lib_resilient.rs:22:71
[INFO] [stdout]    |
[INFO] [stdout] 22 |         move |input, state: &mut S| self.parse(input, state).or_else(|e| rhs.parse(input, state))//TODO: err combine
[INFO] [stdout]    |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/client.rs:177:75
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn publish_diagnostics(&self, uri: Url, diagnostics: Vec<Diagnostic>, version: Option<i32>) {
[INFO] [stdout]     |                                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L08_product_type/elaboration.rs:621:42
[INFO] [stdout]     |
[INFO] [stdout] 621 |             Raw::Lam(x, Either::Name(_), t) => Err(Error(format!("infer named lambda {x:?}"))),
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> src/L03_holes/mod.rs:360:32
[INFO] [stdout]     |
[INFO] [stdout] 360 |             Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:158:45
[INFO] [stdout]     |
[INFO] [stdout] 158 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L08_product_type/unification.rs:511:13
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let mut go = |this: &mut Self,
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]    --> src/L04_implicit/mod.rs:369:32
[INFO] [stdout]     |
[INFO] [stdout] 369 |             Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError),
[INFO] [stdout]     |                                ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_inner`
[INFO] [stdout]     --> src/L04_implicit/mod.rs:1355:13
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         let app_inner = Val::Rigid(Lvl(1), sp_inner);
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:283:48
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn new_binder(&self, x: Name, a_quote: Tm, a: Val) -> Cxt {
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L05_pruning/mod.rs:844:36
[INFO] [stdout]     |
[INFO] [stdout] 844 |         fn go(inf: &Infer, l: Lvl, mut a: VTy, l_prime: Lvl, t: Tm) -> Tm {
[INFO] [stdout]     |                                    ----^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L06_string/unification.rs:310:37
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 Val::Pi(span, icit, val, closure) => Tm::Lam(
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L09_mltt/elaboration.rs:269:32
[INFO] [stdout]     |
[INFO] [stdout] 269 |                         Val::U(x) => {//TODO:x?
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L09_mltt/elaboration.rs:756:42
[INFO] [stdout]     |
[INFO] [stdout] 756 |             Raw::Lam(x, Either::Name(_), t) => Err(Error(x.map(|_| "infer named lambda".to_owned()))),
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]   --> src/L09_mltt/parser/syntax.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |             Raw::SumCase { typ, case_name, datas } => datas.last()
[INFO] [stdout]    |                            ^^^ help: try ignoring the field: `typ: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `println_kw`
[INFO] [stdout]    --> src/L09_mltt/parser/mod.rs:632:16
[INFO] [stdout]     |
[INFO] [stdout] 632 |         .map(|(println_kw, x)| Decl::Println(x.unwrap_or(Raw::Hole)))
[INFO] [stdout]     |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_println_kw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:131:42
[INFO] [stdout]     |
[INFO] [stdout] 131 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:131:45
[INFO] [stdout]     |
[INFO] [stdout] 131 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:372:37
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 Val::Pi(span, icit, val, closure) if span.data == "_" => {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:385:37
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 Val::Pi(span, icit, val, closure) => Tm::Lam(
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L07_sum_type/unification.rs:726:13
[INFO] [stdout]     |
[INFO] [stdout] 726 |         let mut go = |this: &mut Self,
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/L09_mltt/pretty.rs:203:28
[INFO] [stdout]     |
[INFO] [stdout] 203 |         Tm::Sum(span, tms, items) => format!(
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_def`
[INFO] [stdout]     --> src/L09_mltt/bump_spine_iter/machine.rs:2100:17
[INFO] [stdout]      |
[INFO] [stdout] 2100 |             let is_def = matches!(d, Decl::Def { .. });
[INFO] [stdout]      |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L10_typeclass/elaboration.rs:234:32
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         Val::U(x) => {//TODO:x?
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]   --> src/L10_typeclass/parser/syntax.rs:94:41
[INFO] [stdout]    |
[INFO] [stdout] 94 |             Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last()
[INFO] [stdout]    |                                         ^^^ help: try ignoring the field: `typ: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `match_kw`
[INFO] [stdout]    --> src/L10_typeclass/parser/mod.rs:575:16
[INFO] [stdout]     |
[INFO] [stdout] 575 |         .map(|(match_kw, scrutinee, body)| Raw::Match(
[INFO] [stdout]     |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_match_kw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `println_kw`
[INFO] [stdout]    --> src/L10_typeclass/parser/mod.rs:634:16
[INFO] [stdout]     |
[INFO] [stdout] 634 |         .map(|(println_kw, x)| Decl::Println(x.unwrap_or(Raw::Hole)))
[INFO] [stdout]     |                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_println_kw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L08_product_type/elaboration.rs:621:42
[INFO] [stdout]     |
[INFO] [stdout] 621 |             Raw::Lam(x, Either::Name(_), t) => Err(Error(format!("infer named lambda {x:?}"))),
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:130:45
[INFO] [stdout]     |
[INFO] [stdout] 130 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:387:37
[INFO] [stdout]     |
[INFO] [stdout] 387 |                 Val::Pi(span, icit, val, closure) => Tm::Lam(
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                                 ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `icit`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_icit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closure`
[INFO] [stdout]   --> src/L10_typeclass/typeclass.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `neutral`
[INFO] [stdout]     --> src/L10_typeclass/bump_spine_iter/machine.rs:1045:13
[INFO] [stdout]      |
[INFO] [stdout] 1045 |             neutral,
[INFO] [stdout]      |             ^^^^^^^ help: try ignoring the field: `neutral: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `neutral`
[INFO] [stdout]     --> src/L10_typeclass/bump_spine_iter/machine.rs:1341:13
[INFO] [stdout]      |
[INFO] [stdout] 1341 |             neutral,
[INFO] [stdout]      |             ^^^^^^^ help: try ignoring the field: `neutral: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]     --> src/L10_typeclass/bump_spine_iter/machine.rs:2399:29
[INFO] [stdout]      |
[INFO] [stdout] 2399 |                 if let Some(t0) = probe_t0 {
[INFO] [stdout]      |                             ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:158:45
[INFO] [stdout]     |
[INFO] [stdout] 158 |             (Some((None, rest)), Val::Pi(x, i, _, b)) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L08_product_type/unification.rs:511:13
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let mut go = |this: &mut Self,
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L10_typeclass/bump_spine_iter/rename.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut lams_loop = solve_probe::on().then(|| std::time::Instant::now());
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t0`
[INFO] [stdout]   --> src/L10_typeclass/bump_spine_iter/typeclass.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if let Some(t0) = probe_t0 {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_t0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/L10_typeclass/pretty.rs:207:28
[INFO] [stdout]     |
[INFO] [stdout] 207 |         Tm::Sum(span, tms, items, _) => format!(
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_trait`
[INFO] [stdout]    --> src/L10_typeclass/pretty.rs:216:23
[INFO] [stdout]     |
[INFO] [stdout] 216 |         Tm::SumCase { is_trait, typ, case_name, datas: params } => format!(
[INFO] [stdout]     |                       ^^^^^^^^ help: try ignoring the field: `is_trait: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/L11_macro/cxt.rs:396:22
[INFO] [stdout]     |
[INFO] [stdout] 396 |         if let Some((span, _, _, _, _)) = t {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L11_macro/cxt.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let t = Rc::make_mut(&mut decl).insert(x.data.clone(), (x.to_span(), t, vt, a, va));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/L11_macro/elaboration.rs:246:32
[INFO] [stdout]     |
[INFO] [stdout] 246 |                         Val::U(x) => {//TODO:x?
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `elaboration-zoo-lsp` (lib test); 62 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/bin/rustc --crate-name elaboration_zoo_lsp --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat,unused-externs-silent --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("dhat-heap", "mem-profile", "sampler", "stdio-monitor"))' -C metadata=09ece797ab1101b3 -C extra-filename=-a4bc46450ba3ac12 --out-dir /opt/rustwide/target/debug/build/elaboration-zoo-lsp/a4bc46450ba3ac12/out -L dependency=/opt/rustwide/target/debug/build/anstream/9dd3826cce5c6c39/out -L dependency=/opt/rustwide/target/debug/build/anstyle-parse/338aee098f428004/out -L dependency=/opt/rustwide/target/debug/build/anstyle-query/d7fe99310e29d523/out -L dependency=/opt/rustwide/target/debug/build/anstyle/c817f3fd9a811ac3/out -L dependency=/opt/rustwide/target/debug/build/bitflags/b0e6217d4d7090bf/out -L dependency=/opt/rustwide/target/debug/build/cfg-if/455a21b2886a1534/out -L dependency=/opt/rustwide/target/debug/build/clap_builder/ccfb7a8bbeadc04f/out -L dependency=/opt/rustwide/target/debug/build/clap_derive/57e7b572f768c869/out -L dependency=/opt/rustwide/target/debug/build/clap_lex/7cfff6c96518a8f7/out -L dependency=/opt/rustwide/target/debug/build/colorchoice/57f0573723623dca/out -L dependency=/opt/rustwide/target/debug/build/crossbeam-channel/7f9ff3272e0b3ee1/out -L dependency=/opt/rustwide/target/debug/build/crossbeam-utils/01b97955d654b440/out -L dependency=/opt/rustwide/target/debug/build/displaydoc/3b3edb45649239b0/out -L dependency=/opt/rustwide/target/debug/build/equivalent/53277b141c879f87/out -L dependency=/opt/rustwide/target/debug/build/form_urlencoded/bfee567e56103e28/out -L dependency=/opt/rustwide/target/debug/build/hashbrown/68a1f0a460acd3f4/out -L dependency=/opt/rustwide/target/debug/build/hashbrown/88ed4e4aff25222b/out -L dependency=/opt/rustwide/target/debug/build/icu_collections/d7e75d2b035c853d/out -L dependency=/opt/rustwide/target/debug/build/icu_locid/c4a3154c504dfdf0/out -L dependency=/opt/rustwide/target/debug/build/icu_locid_transform/3ac7ce32ec1b3a0d/out -L dependency=/opt/rustwide/target/debug/build/icu_locid_transform_data/6d095c93792ae372/out -L dependency=/opt/rustwide/target/debug/build/icu_normalizer/1069b3e3a5d04cc5/out -L dependency=/opt/rustwide/target/debug/build/icu_normalizer_data/033f1694e48a88eb/out -L dependency=/opt/rustwide/target/debug/build/icu_properties/e6c404062328f535/out -L dependency=/opt/rustwide/target/debug/build/icu_properties_data/3ac64057272cd0fb/out -L dependency=/opt/rustwide/target/debug/build/icu_provider/6a95f7a6b91e2470/out -L dependency=/opt/rustwide/target/debug/build/icu_provider_macros/19c9174ab54821ce/out -L dependency=/opt/rustwide/target/debug/build/idna/3fd0c70076d8a94f/out -L dependency=/opt/rustwide/target/debug/build/idna_adapter/98494cbccc847a4d/out -L dependency=/opt/rustwide/target/debug/build/indexmap/8d538040b6b677a4/out -L dependency=/opt/rustwide/target/debug/build/is_terminal_polyfill/ad905bc293a87b7f/out -L dependency=/opt/rustwide/target/debug/build/itoa/5e6fae9653c9d29e/out -L dependency=/opt/rustwide/target/debug/build/lazy_static/8814797a196a17b5/out -L dependency=/opt/rustwide/target/debug/build/libc/0b02796e143b9a46/out -L dependency=/opt/rustwide/target/debug/build/libmimalloc-sys/59835a23d136fcbb/out -L dependency=/opt/rustwide/target/debug/build/litemap/f4a1e4594c4d24a1/out -L dependency=/opt/rustwide/target/debug/build/lock_api/497c3c4b546acad3/out -L dependency=/opt/rustwide/target/debug/build/log/efccb6685952571c/out -L dependency=/opt/rustwide/target/debug/build/memchr/4a5e944d758b8e10/out -L dependency=/opt/rustwide/target/debug/build/once_cell/65ef733aa5ad93db/out -L dependency=/opt/rustwide/target/debug/build/parking_lot_core/aa7dd26fa3f96faf/out -L dependency=/opt/rustwide/target/debug/build/percent-encoding/087d579ec1802fe2/out -L dependency=/opt/rustwide/target/debug/build/ryu/3bb9095b4adae92b/out -L dependency=/opt/rustwide/target/debug/build/same-file/dcdb966383785818/out -L dependency=/opt/rustwide/target/debug/build/scopeguard/2eedc5e742d791e6/out -L dependency=/opt/rustwide/target/debug/build/serde/ac20c0ff908cd0e3/out -L dependency=/opt/rustwide/target/debug/build/serde_derive/2f5e81825dbdc4a3/out -L dependency=/opt/rustwide/target/debug/build/serde_json/9fc76256cb8a012f/out -L dependency=/opt/rustwide/target/debug/build/serde_repr/527ad30953be4008/out -L dependency=/opt/rustwide/target/debug/build/serde_spanned/58bebd450857518a/out -L dependency=/opt/rustwide/target/debug/build/smallvec/f8a5645b76c9dce4/out -L dependency=/opt/rustwide/target/debug/build/stable_deref_trait/0e8b9ea900c8ae76/out -L dependency=/opt/rustwide/target/debug/build/str_indices/df8b6678a716c601/out -L dependency=/opt/rustwide/target/debug/build/strsim/8ef4eec82bb5cc1e/out -L dependency=/opt/rustwide/target/debug/build/termcolor/51d12d2279117532/out -L dependency=/opt/rustwide/target/debug/build/tinystr/451e4149da26f9d8/out -L dependency=/opt/rustwide/target/debug/build/toml_datetime/fcbe2ffa91c36edc/out -L dependency=/opt/rustwide/target/debug/build/toml_edit/f0c7a5fcb967a622/out -L dependency=/opt/rustwide/target/debug/build/toml_write/25293c7e656eadfb/out -L dependency=/opt/rustwide/target/debug/build/unicode-width/d240299c8c3a1bab/out -L dependency=/opt/rustwide/target/debug/build/url/ffb290341c43b074/out -L dependency=/opt/rustwide/target/debug/build/utf16_iter/e38c8a6c76b955f5/out -L dependency=/opt/rustwide/target/debug/build/utf8_iter/2a9a14295c98e961/out -L dependency=/opt/rustwide/target/debug/build/utf8parse/22c8bfc04b871790/out -L dependency=/opt/rustwide/target/debug/build/winnow/561195ecb1ddd825/out -L dependency=/opt/rustwide/target/debug/build/write16/a00b4a594ea4a887/out -L dependency=/opt/rustwide/target/debug/build/writeable/029530d590248c79/out -L dependency=/opt/rustwide/target/debug/build/yoke-derive/f6ff00c51403c451/out -L dependency=/opt/rustwide/target/debug/build/yoke/11367d3bee188129/out -L dependency=/opt/rustwide/target/debug/build/zerofrom-derive/334d9a27f8c0c397/out -L dependency=/opt/rustwide/target/debug/build/zerofrom/bceb9d2a7ccf0286/out -L dependency=/opt/rustwide/target/debug/build/zerovec-derive/24661f18d9bfb995/out -L dependency=/opt/rustwide/target/debug/build/zerovec/a6f9a1c27709ba9f/out --extern bumpalo=/opt/rustwide/target/debug/build/bumpalo/58959ea546fe3b00/out/libbumpalo-58959ea546fe3b00.rmeta --extern clap=/opt/rustwide/target/debug/build/clap/2b1234cb204a7909/out/libclap-2b1234cb204a7909.rmeta --extern codespan_reporting=/opt/rustwide/target/debug/build/codespan-reporting/6bad5903fca477da/out/libcodespan_reporting-6bad5903fca477da.rmeta --extern colored=/opt/rustwide/target/debug/build/colored/e15cbc59c2167d7c/out/libcolored-e15cbc59c2167d7c.rmeta --extern crossbeam_channel=/opt/rustwide/target/debug/build/crossbeam-channel/7f9ff3272e0b3ee1/out/libcrossbeam_channel-7f9ff3272e0b3ee1.rmeta --extern dashmap=/opt/rustwide/target/debug/build/dashmap/d90d173ef51be052/out/libdashmap-d90d173ef51be052.rmeta --extern log=/opt/rustwide/target/debug/build/log/efccb6685952571c/out/liblog-efccb6685952571c.rmeta --extern lsp_server=/opt/rustwide/target/debug/build/lsp-server/2fc02117ee39c338/out/liblsp_server-2fc02117ee39c338.rmeta --extern lsp_types=/opt/rustwide/target/debug/build/lsp-types/eacb29dd031ac453/out/liblsp_types-eacb29dd031ac453.rmeta --extern mimalloc=/opt/rustwide/target/debug/build/mimalloc/96d8ab31fe3366c2/out/libmimalloc-96d8ab31fe3366c2.rmeta --extern ropey=/opt/rustwide/target/debug/build/ropey/b859f2b8f82b589a/out/libropey-b859f2b8f82b589a.rmeta --extern rustc_hash=/opt/rustwide/target/debug/build/rustc-hash/5059890c48f909f1/out/librustc_hash-5059890c48f909f1.rmeta --extern serde=/opt/rustwide/target/debug/build/serde/ac20c0ff908cd0e3/out/libserde-ac20c0ff908cd0e3.rmeta --extern serde_json=/opt/rustwide/target/debug/build/serde_json/9fc76256cb8a012f/out/libserde_json-9fc76256cb8a012f.rmeta --extern smol_str=/opt/rustwide/target/debug/build/smol_str/d990344297971c67/out/libsmol_str-d990344297971c67.rmeta --extern toml=/opt/rustwide/target/debug/build/toml/d4a9330f2ae445b1/out/libtoml-d4a9330f2ae445b1.rmeta --extern walkdir=/opt/rustwide/target/debug/build/walkdir/9cf77ea4ba6f40cd/out/libwalkdir-9cf77ea4ba6f40cd.rmeta --cap-lints=forbid -Znext-solver=coherence --force-warn=unused_crate_dependencies -L native=/opt/rustwide/target/debug/build/libmimalloc-sys/8ea7a22c5a7782e6/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/L11_macro/parser/syntax.rs:125:41
[INFO] [stdout]     |
[INFO] [stdout] 125 |             Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last()
[INFO] [stdout]     |                                         ^^^ help: try ignoring the field: `typ: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/L11_macro/parser/macros.rs:48:53
[INFO] [stdout]    |
[INFO] [stdout] 48 | ...                   msg: token.map(|x| ErrMsg::Base(BaseMsg::Expect(*kind))),
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L11_macro/parser/macros.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                         Ok((i, t)) if i.len() == input.len() => Err(IError {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rcurly_span` is never read
[INFO] [stdout]     --> src/L11_macro/parser/mod.rs:1509:45
[INFO] [stdout]      |
[INFO] [stdout] 1509 |     let mut rcurly_span: Option<Span<()>> = None;
[INFO] [stdout]      |                                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1514 |             rcurly_span = Some(rc);
[INFO] [stdout]      |             ---------------------- `rcurly_span` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/L11_macro/unification.rs:409:37
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 Val::Pi(span, icit, val, closure) => Tm::Lam(
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sp`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |             Val::Obj(val, span, sp) => None,
[INFO] [stdout]    |                                 ^^ help: if this is intentional, prefix it with an underscore: `_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `icit`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_icit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closure`
[INFO] [stdout]   --> src/L11_macro/typeclass.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Val::Pi(span, icit, val, closure) => None,
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/L11_macro/pretty.rs:158:28
[INFO] [stdout]     |
[INFO] [stdout] 158 |         Tm::Sum(span, tms, items, _) => {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_trait`
[INFO] [stdout]    --> src/L11_macro/pretty.rs:171:23
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Tm::SumCase { is_trait, typ, case_name, datas: params } => {
[INFO] [stdout]     |                       ^^^^^^^^ help: try ignoring the field: `is_trait: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L11_macro/mod.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 MetaEntry::Solved(t, _) => None,//TODO: this is error. this will be fixed in L12
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L12_canonical/cxt.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let t = Rc::make_mut(&mut decl).insert(x.data.clone(), (x.to_span(), t, vt, a, va));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/L12_canonical/elaboration.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |                 let span = name.to_span();
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/L12_canonical/parser/syntax.rs:142:41
[INFO] [stdout]     |
[INFO] [stdout] 142 |             Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last()
[INFO] [stdout]     |                                         ^^^ help: try ignoring the field: `typ: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/L12_canonical/parser/macros.rs:48:53
[INFO] [stdout]    |
[INFO] [stdout] 48 | ...                   msg: token.map(|x| ErrMsg::Base(BaseMsg::Expect(*kind))),
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L12_canonical/parser/macros.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                         Ok((i, t)) if i.len() == input.len() => Err(IError {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rcurly_span` is never read
[INFO] [stdout]     --> src/L12_canonical/parser/mod.rs:1533:45
[INFO] [stdout]      |
[INFO] [stdout] 1533 |     let mut rcurly_span: Option<Span<()>> = None;
[INFO] [stdout]      |                                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1538 |             rcurly_span = Some(rc);
[INFO] [stdout]      |             ---------------------- `rcurly_span` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/L12_canonical/pretty.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Tm::Sum(span, tms, items, _) => {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_trait`
[INFO] [stdout]    --> src/L12_canonical/pretty.rs:198:23
[INFO] [stdout]     |
[INFO] [stdout] 198 |         Tm::SumCase { is_trait, typ, case_name, datas: params } => {
[INFO] [stdout]     |                       ^^^^^^^^ help: try ignoring the field: `is_trait: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/L12_canonical/bump_spine_iter/spine.rs:182:29
[INFO] [stdout]     |
[INFO] [stdout] 182 |         MetaEntry::Unsolved(v, _, _) => v_meta(m),
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L12_canonical/canonical.rs:84:35
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 while let Val::Pi(span, icit, dom, clos) = vt.as_ref() {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/cxt.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let mut intern = |s: &str, nodes: &mut Vec<String>| -> usize {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_param`
[INFO] [stdout]     --> src/L13_namespace/elaboration.rs:2003:25
[INFO] [stdout]      |
[INFO] [stdout] 2003 |                     let out_param = self.trait_out_param.get(&trait_full)
[INFO] [stdout]      |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner`
[INFO] [stdout]     --> src/L13_namespace/elaboration.rs:2979:37
[INFO] [stdout]      |
[INFO] [stdout] 2979 |                     if let Raw::Obj(inner, Some(prev)) = x.as_ref() {
[INFO] [stdout]      |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_expl`
[INFO] [stdout]     --> src/L13_namespace/elaboration.rs:3194:21
[INFO] [stdout]      |
[INFO] [stdout] 3194 |                 let is_expl = matches!(i, Either::Icit(Icit::Expl));
[INFO] [stdout]      |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_expl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head`
[INFO] [stdout]     --> src/L13_namespace/elaboration.rs:3490:33
[INFO] [stdout]      |
[INFO] [stdout] 3490 |                     if let Some(ref head) = typ_raw_head {
[INFO] [stdout]      |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head`
[INFO] [stdout]     --> src/L13_namespace/elaboration.rs:3732:37
[INFO] [stdout]      |
[INFO] [stdout] 3732 |                         if let Some(ref head) = typ_raw_head {
[INFO] [stdout]      |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/L13_namespace/parser/syntax.rs:204:41
[INFO] [stdout]     |
[INFO] [stdout] 204 |             Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last()
[INFO] [stdout]     |                                         ^^^ help: try ignoring the field: `typ: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/L13_namespace/parser/macros.rs:48:53
[INFO] [stdout]    |
[INFO] [stdout] 48 | ...                   msg: token.map(|x| ErrMsg::Base(BaseMsg::Expect(*kind))),
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/L13_namespace/parser/macros.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |                         Ok((i, t)) if i.len() == input.len() => Err(IError {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bundle_body`
[INFO] [stdout]    --> src/L13_namespace/parser/derive.rs:600:17
[INFO] [stdout]     |
[INFO] [stdout] 600 |             let bundle_body = build_bundle_body(fields);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bundle_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_name`
[INFO] [stdout]     --> src/L13_namespace/parser/derive.rs:1198:5
[INFO] [stdout]      |
[INFO] [stdout] 1198 |     enum_name: &str,
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rcurly_span` is never read
[INFO] [stdout]     --> src/L13_namespace/parser/mod.rs:2126:45
[INFO] [stdout]      |
[INFO] [stdout] 2126 |     let mut rcurly_span: Option<Span<()>> = None;
[INFO] [stdout]      |                                             ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2131 |             rcurly_span = Some(rc);
[INFO] [stdout]      |             ---------------------- `rcurly_span` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/L13_namespace/parser/mod.rs:3088:13
[INFO] [stdout]      |
[INFO] [stdout] 3088 |         Err(e) => Ok((input, vec![])), // No attribute found, not an error
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/unification.rs:609:13
[INFO] [stdout]     |
[INFO] [stdout] 609 |         let mut solution = self.eval(decl, &List::new(), &self.lams(pren.dom, decl, &mty, rhs));
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cxt`
[INFO] [stdout]    --> src/L13_namespace/unification.rs:614:41
[INFO] [stdout]     |
[INFO] [stdout] 614 |     pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar, allow_flex_defaulting: bool) -> Result<(), UnifyError> {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cxt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]    --> src/L13_namespace/pretty.rs:387:28
[INFO] [stdout]     |
[INFO] [stdout] 387 |         Tm::Sum(span, tms, items, _) => {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/L13_namespace/canonical.rs:79:35
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 while let Val::Pi(span, icit, dom, clos) = vt.as_ref() {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/entry.rs:1224:41
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         let restore_done = kick_t0.map(|t| std::time::Instant::now());
[INFO] [stdout]      |                                         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/machine.rs:277:21
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 let mut solver = &mut m.tstate.solver;
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/machine.rs:286:21
[INFO] [stdout]     |
[INFO] [stdout] 286 |                 let mut solver = &mut m.tstate.solver;
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_param`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:4411:25
[INFO] [stdout]      |
[INFO] [stdout] 4411 |                     let out_param = self
[INFO] [stdout]      |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_t`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:4917:25
[INFO] [stdout]      |
[INFO] [stdout] 4917 |                     let a_t = self.quote(bump, &a_cxt, a_cxt.lvl, va);
[INFO] [stdout]      |                         ^^^ help: if this is intentional, prefix it with an underscore: `_a_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `work`
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/prim.rs:480:5
[INFO] [stdout]     |
[INFO] [stdout] 480 |     work: &mut Vec<W<'a>>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_work`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vals`
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/prim.rs:481:5
[INFO] [stdout]     |
[INFO] [stdout] 481 |     vals: &mut Vec<V>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `icits`
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/prim.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 482 |     icits: &mut Vec<Icit>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_icits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/quote.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     mut memo: Option<&mut QuoteMemo<'a>>,
[INFO] [stdout]     |     ----^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cxt`
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/typeclass.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         cxt: &Cxt<'a>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_cxt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/unify.rs:954:21
[INFO] [stdout]     |
[INFO] [stdout] 954 |                 let mut args: Vec<(V, Icit)> = match v_tag(ov) {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1963:22
[INFO] [stdout]      |
[INFO] [stdout] 1963 |             Val::Lam(name, _, clos) => {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1968:21
[INFO] [stdout]      |
[INFO] [stdout] 1968 |             Val::Pi(name, _, vty, clos) => {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1977:31
[INFO] [stdout]      |
[INFO] [stdout] 1977 |             Val::LiteralIntro(s) => {
[INFO] [stdout]      |                               ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1980:22
[INFO] [stdout]      |
[INFO] [stdout] 1980 |             Val::Sum(name, params, cases, _) => {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1982:22
[INFO] [stdout]      |
[INFO] [stdout] 1982 |                 for (pname, pval, pvty, _) in params.iter() {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1987:21
[INFO] [stdout]      |
[INFO] [stdout] 1987 |                 for cname in cases.iter() {
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1993:22
[INFO] [stdout]      |
[INFO] [stdout] 1993 |                 for (dname, dval, _) in datas.iter() {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2001:22
[INFO] [stdout]      |
[INFO] [stdout] 2001 |                 for (pat, tm) in cases {
[INFO] [stdout]      |                      ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2042:22
[INFO] [stdout]      |
[INFO] [stdout] 2042 |             Tm::Decl(name) => {
[INFO] [stdout]      |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2045:28
[INFO] [stdout]      |
[INFO] [stdout] 2045 |             Tm::Obj(inner, name) => {
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2049:21
[INFO] [stdout]      |
[INFO] [stdout] 2049 |             Tm::Lam(name, _, body) => {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2061:20
[INFO] [stdout]      |
[INFO] [stdout] 2061 |             Tm::Pi(name, _, ty_a, ty_b) => {
[INFO] [stdout]      |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2066:21
[INFO] [stdout]      |
[INFO] [stdout] 2066 |             Tm::Let(name, ty, val, body) => {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2077:21
[INFO] [stdout]      |
[INFO] [stdout] 2077 |             Tm::Sum(name, params, cases, _) => {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2079:22
[INFO] [stdout]      |
[INFO] [stdout] 2079 |                 for (pname, ptm, pty, _) in params.iter() {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2084:21
[INFO] [stdout]      |
[INFO] [stdout] 2084 |                 for cname in cases.iter() {
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dname`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2090:22
[INFO] [stdout]      |
[INFO] [stdout] 2090 |                 for (dname, dtm, _) in datas.iter() {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2097:22
[INFO] [stdout]      |
[INFO] [stdout] 2097 |                 for (pat, branch) in cases {
[INFO] [stdout]      |                      ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2120:18
[INFO] [stdout]      |
[INFO] [stdout] 2120 |         for (_, (span, rtm, rval, rty, rvty, _, _)) in cxt.decl.iter() {
[INFO] [stdout]      |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2132:21
[INFO] [stdout]      |
[INFO] [stdout] 2132 |         for (_, _, (span, vty)) in cxt.src_names.iter_all() {
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta_alloc`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2426:13
[INFO] [stdout]      |
[INFO] [stdout] 2426 |         let meta_alloc = (std::mem::size_of::<MetaEntry>() + 16 + 7) & !7;
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_alloc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4261:22
[INFO] [stdout]      |
[INFO] [stdout] 4261 |                 let (x, _, new_cxt) = infer.infer_in_place(&mut cxt, tm.clone())?;
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:597:17
[INFO] [stdout]     |
[INFO] [stdout] 597 |             let mut value = if let Some(d) = def_block {
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]     --> src/lib.rs:2094:29
[INFO] [stdout]      |
[INFO] [stdout] 2094 |                         let url = params.uri.clone();
[INFO] [stdout]      |                             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/lib.rs:2565:17
[INFO] [stdout]      |
[INFO] [stdout] 2565 |             let mut infer = self.infer.lock().unwrap();
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uri`
[INFO] [stdout]     --> src/lib.rs:2777:9
[INFO] [stdout]      |
[INFO] [stdout] 2777 |         uri: &Url,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/lib.rs:2905:17
[INFO] [stdout]      |
[INFO] [stdout] 2905 |             let mut infer = self.infer.lock().unwrap();
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/lib.rs:3189:35
[INFO] [stdout]      |
[INFO] [stdout] 3189 |                     .filter_map(|(span, name)| {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/lib.rs:3339:13
[INFO] [stdout]      |
[INFO] [stdout] 3339 |         let mut start_line = range.start.line as usize;
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]     --> src/lib.rs:3906:35
[INFO] [stdout]      |
[INFO] [stdout] 3906 |                 Message::Response(resp) => {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L03_holes::Tm` is more private than the item `L03_holes::pretty_tm`
[INFO] [stdout]    --> src/L03_holes/mod.rs:725:1
[INFO] [stdout]     |
[INFO] [stdout] 725 | pub fn pretty_tm(prec: usize, ns: &[String], t: &Tm) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `L03_holes::pretty_tm` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L03_holes::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L03_holes/mod.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::pretty_tm`
[INFO] [stdout]    --> src/L04_implicit/mod.rs:895:1
[INFO] [stdout]     |
[INFO] [stdout] 895 | pub fn pretty_tm(prec: usize, ns: &[String], t: &Tm) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `L04_implicit::pretty_tm` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L04_implicit::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L04_implicit/mod.rs:87:1
[INFO] [stdout]     |
[INFO] [stdout]  87 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::Locals::Define::2`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:114:30
[INFO] [stdout]     |
[INFO] [stdout] 114 |     Define(Rc<Locals>, Name, Rc<Ty>, Rc<Tm>),
[INFO] [stdout]     |                              ^^^^^^ field `L05_pruning::Locals::Define::2` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::Locals::Define::3`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:114:38
[INFO] [stdout]     |
[INFO] [stdout] 114 |     Define(Rc<Locals>, Name, Rc<Ty>, Rc<Tm>),
[INFO] [stdout]     |                                      ^^^^^^ field `L05_pruning::Locals::Define::3` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::Locals::Bind::2`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |     Bind(Rc<Locals>, Name, Rc<Ty>),
[INFO] [stdout]     |                            ^^^^^^ field `L05_pruning::Locals::Bind::2` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::close_ty`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn close_ty(mcl: &Locals, b: Ty) -> Ty {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `L05_pruning::close_ty` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L05_pruning/mod.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::pretty_tm`
[INFO] [stdout]     --> src/L05_pruning/mod.rs:1351:1
[INFO] [stdout]      |
[INFO] [stdout] 1351 | pub fn pretty_tm(prec: usize, ns: &[String], t: &Tm) -> String {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `L05_pruning::pretty_tm` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> src/L05_pruning/mod.rs:172:1
[INFO] [stdout]      |
[INFO] [stdout]  172 | enum Tm {
[INFO] [stdout]      | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::DeclTm::Println::0`
[INFO] [stdout]   --> src/L06_string/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Println(Tm),
[INFO] [stdout]    |             ^^ field `L06_string::DeclTm::Println::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/L06_string/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Tm {
[INFO] [stdout]    | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::DeclEntry::vt`
[INFO] [stdout]    --> src/L06_string/mod.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub(crate) vt: Rc<Val>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::DeclEntry::vt` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::DeclEntry::va`
[INFO] [stdout]    --> src/L06_string/mod.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub(crate) va: Rc<VTy>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::DeclEntry::va` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::Infer::mutable_map`
[INFO] [stdout]    --> src/L06_string/mod.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub(crate) mutable_map: RefCell<HashMap<String, Rc<Val>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::Infer::mutable_map` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::Infer::register_builtin`
[INFO] [stdout]    --> src/L06_string/mod.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub(crate) fn register_builtin(&mut self, name: &str, vt: Rc<Val>, va: Rc<VTy>, prim: PrimFunc) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::register_builtin` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::Infer::nf`
[INFO] [stdout]    --> src/L06_string/mod.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     pub fn nf(&self, env: &Env, t: Tm) -> Tm {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::Infer::nf`
[INFO] [stdout]    --> src/L06_string/mod.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     pub fn nf(&self, env: &Env, t: Tm) -> Tm {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::<impl L06_string::Infer>::infer`
[INFO] [stdout]    --> src/L06_string/elaboration.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::<impl L06_string::Infer>::infer` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::elaboration::<impl L06_string::Infer>::infer_expr`
[INFO] [stdout]    --> src/L06_string/elaboration.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc<Val>), Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::<impl L06_string::Infer>::infer_expr` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::<impl L06_string::Infer>::infer_expr`
[INFO] [stdout]    --> src/L06_string/elaboration.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc<Val>), Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::<impl L06_string::Infer>::infer_expr` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::env`
[INFO] [stdout]    --> src/L06_string/cxt.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub env: Env, // Used for evaluation
[INFO] [stdout]     |     ^^^^^^^^^^^^ field `L06_string::cxt::Cxt::env` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::src_names`
[INFO] [stdout]    --> src/L06_string/cxt.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub src_names: Rc<HashMap<String, (Lvl, Rc<VTy>)>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::cxt::Cxt::src_names` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::add_builtin`
[INFO] [stdout]    --> src/L06_string/cxt.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     pub fn add_builtin(self, infer: &mut Infer, name: &str, ty: Tm, prim: PrimFunc) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::add_builtin` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::bind`
[INFO] [stdout]    --> src/L06_string/cxt.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn bind(&self, x: Span<String>, a_quote: Tm, a: Rc<Val>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::bind`
[INFO] [stdout]    --> src/L06_string/cxt.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn bind(&self, x: Span<String>, a_quote: Tm, a: Rc<Val>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::new_binder`
[INFO] [stdout]    --> src/L06_string/cxt.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub fn new_binder(&self, x: Span<String>, a_quote: Tm) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::define`
[INFO] [stdout]    --> src/L06_string/cxt.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn define(&self, x: Span<String>, t: Tm, vt: Rc<Val>, a: Ty, va: Rc<VTy>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | enum Tm {
[INFO] [stdout]     | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::define`
[INFO] [stdout]    --> src/L06_string/cxt.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn define(&self, x: Span<String>, t: Tm, vt: Rc<Val>, a: Ty, va: Rc<VTy>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::unification::<impl L06_string::Infer>::unify`
[INFO] [stdout]    --> src/L06_string/unification.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 |     pub fn unify(&mut self, l: Lvl, t: &Rc<Val>, u: &Rc<Val>) -> Result<(), UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::<impl L06_string::Infer>::unify` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Val {
[INFO] [stdout]     | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::UnifyError` is more private than the item `L06_string::unification::<impl L06_string::Infer>::unify`
[INFO] [stdout]    --> src/L06_string/unification.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 |     pub fn unify(&mut self, l: Lvl, t: &Rc<Val>, u: &Rc<Val>) -> Result<(), UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::<impl L06_string::Infer>::unify` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L06_string::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L06_string/mod.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::2`
[INFO] [stdout]   --> src/L06_string/syntax.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Define(Rc<Locals>, Span<String>, Rc<Ty>, Rc<Tm>),
[INFO] [stdout]    |                                      ^^^^^^ field `L06_string::syntax::Locals::Define::2` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/L06_string/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Tm {
[INFO] [stdout]    | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::3`
[INFO] [stdout]   --> src/L06_string/syntax.rs:18:46
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Define(Rc<Locals>, Span<String>, Rc<Ty>, Rc<Tm>),
[INFO] [stdout]    |                                              ^^^^^^ field `L06_string::syntax::Locals::Define::3` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/L06_string/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Tm {
[INFO] [stdout]    | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Bind::2`
[INFO] [stdout]   --> src/L06_string/syntax.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Bind(Rc<Locals>, Span<String>, Rc<Ty>),
[INFO] [stdout]    |                                    ^^^^^^ field `L06_string::syntax::Locals::Bind::2` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/L06_string/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Tm {
[INFO] [stdout]    | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L07_sum_type::unification::SpecSolve<'_>` is more private than the item `L07_sum_type::unification::<impl L07_sum_type::Infer>::unify`
[INFO] [stdout]    --> src/L07_sum_type/unification.rs:825:5
[INFO] [stdout]     |
[INFO] [stdout] 825 | /     pub fn unify(
[INFO] [stdout] 826 | |         &mut self,
[INFO] [stdout] 827 | |         decl: &Decls,
[INFO] [stdout] 828 | |         l: Lvl,
[INFO] [stdout] ...   |
[INFO] [stdout] 832 | |         mut spec: Option<&mut SpecSolve<'_>>,
[INFO] [stdout] 833 | |     ) -> Result<(), UnifyError> {
[INFO] [stdout]     | |_______________________________^ method `L07_sum_type::unification::<impl L07_sum_type::Infer>::unify` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L07_sum_type::unification::SpecSolve<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/L07_sum_type/unification.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub(crate) struct SpecSolve<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L07_sum_type::UnifyError` is more private than the item `L07_sum_type::unification::<impl L07_sum_type::Infer>::unify`
[INFO] [stdout]    --> src/L07_sum_type/unification.rs:825:5
[INFO] [stdout]     |
[INFO] [stdout] 825 | /     pub fn unify(
[INFO] [stdout] 826 | |         &mut self,
[INFO] [stdout] 827 | |         decl: &Decls,
[INFO] [stdout] 828 | |         l: Lvl,
[INFO] [stdout] ...   |
[INFO] [stdout] 832 | |         mut spec: Option<&mut SpecSolve<'_>>,
[INFO] [stdout] 833 | |     ) -> Result<(), UnifyError> {
[INFO] [stdout]     | |_______________________________^ method `L07_sum_type::unification::<impl L07_sum_type::Infer>::unify` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L07_sum_type::UnifyError` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/L07_sum_type/mod.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub(crate) struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L08_product_type::unification::SpecSolve<'_>` is more private than the item `L08_product_type::unification::<impl L08_product_type::Infer>::unify`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:609:5
[INFO] [stdout]     |
[INFO] [stdout] 609 | /     pub fn unify(
[INFO] [stdout] 610 | |         &mut self,
[INFO] [stdout] 611 | |         decl: &Decls,
[INFO] [stdout] 612 | |         l: Lvl,
[INFO] [stdout] ...   |
[INFO] [stdout] 616 | |         mut spec: Option<&mut SpecSolve<'_>>,
[INFO] [stdout] 617 | |     ) -> Result<(), UnifyError> {
[INFO] [stdout]     | |_______________________________^ method `L08_product_type::unification::<impl L08_product_type::Infer>::unify` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L08_product_type::unification::SpecSolve<'_>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub(crate) struct SpecSolve<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L08_product_type::UnifyError` is more private than the item `L08_product_type::unification::<impl L08_product_type::Infer>::unify`
[INFO] [stdout]    --> src/L08_product_type/unification.rs:609:5
[INFO] [stdout]     |
[INFO] [stdout] 609 | /     pub fn unify(
[INFO] [stdout] 610 | |         &mut self,
[INFO] [stdout] 611 | |         decl: &Decls,
[INFO] [stdout] 612 | |         l: Lvl,
[INFO] [stdout] ...   |
[INFO] [stdout] 616 | |         mut spec: Option<&mut SpecSolve<'_>>,
[INFO] [stdout] 617 | |     ) -> Result<(), UnifyError> {
[INFO] [stdout]     | |_______________________________^ method `L08_product_type::unification::<impl L08_product_type::Infer>::unify` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L08_product_type::UnifyError` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/L08_product_type/mod.rs:432:1
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub(crate) struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::<impl L09_mltt::Infer>::invert`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:85:5
[INFO] [stdout]     |
[INFO] [stdout]  85 | /     pub fn invert(
[INFO] [stdout]  86 | |         &self,
[INFO] [stdout]  87 | |         gamma: Lvl,
[INFO] [stdout]  88 | |         sp: Spine,
[INFO] [stdout]  89 | |     ) -> Result<(PartialRenaming, Option<Pruning>), UnifyError> {
[INFO] [stdout]     | |_______________________________________________________________^ method `L09_mltt::unification::<impl L09_mltt::Infer>::invert` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L09_mltt/mod.rs:420:1
[INFO] [stdout]     |
[INFO] [stdout] 420 | struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::<impl L09_mltt::Infer>::prune_ty`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result<Tm, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::<impl L09_mltt::Infer>::prune_ty` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L09_mltt/mod.rs:420:1
[INFO] [stdout]     |
[INFO] [stdout] 420 | struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::<impl L09_mltt::Infer>::rename`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result<Tm, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::<impl L09_mltt::Infer>::rename` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L09_mltt/mod.rs:420:1
[INFO] [stdout]     |
[INFO] [stdout] 420 | struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::<impl L09_mltt::Infer>::unify`
[INFO] [stdout]    --> src/L09_mltt/unification.rs:542:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | /     pub fn unify(
[INFO] [stdout] 543 | |         &mut self,
[INFO] [stdout] 544 | |         l: Lvl,
[INFO] [stdout] 545 | |         cxt: &Cxt,
[INFO] [stdout] ...   |
[INFO] [stdout] 548 | |         mut spec: Option<&mut SpecSolve<'_>>,
[INFO] [stdout] 549 | |     ) -> Result<(), UnifyError> {
[INFO] [stdout]     | |_______________________________^ method `L09_mltt::unification::<impl L09_mltt::Infer>::unify` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L09_mltt/mod.rs:420:1
[INFO] [stdout]     |
[INFO] [stdout] 420 | struct UnifyError;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::<impl L10_typeclass::Infer>::invert`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:83:5
[INFO] [stdout]     |
[INFO] [stdout]  83 | /     pub fn invert(
[INFO] [stdout]  84 | |         &self,
[INFO] [stdout]  85 | |         gamma: Lvl,
[INFO] [stdout]  86 | |         sp: &Spine,
[INFO] [stdout]  87 | |     ) -> Result<(PartialRenaming, Option<Pruning>), UnifyError> {
[INFO] [stdout]     | |_______________________________________________________________^ method `L10_typeclass::unification::<impl L10_typeclass::Infer>::invert` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L10_typeclass/mod.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::<impl L10_typeclass::Infer>::prune_ty`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn prune_ty(&mut self, pr: &Pruning, a: &Rc<Val>) -> Result<Rc<Tm>, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::<impl L10_typeclass::Infer>::prune_ty` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L10_typeclass/mod.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::<impl L10_typeclass::Infer>::rename`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn rename(&mut self, pren: &PartialRenaming, t: &Rc<Val>) -> Result<Rc<Tm>, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::<impl L10_typeclass::Infer>::rename` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L10_typeclass/mod.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::<impl L10_typeclass::Infer>::solve_multi_trait`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:449:5
[INFO] [stdout]     |
[INFO] [stdout] 449 |     pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::<impl L10_typeclass::Infer>::solve_multi_trait` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L10_typeclass/mod.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::<impl L10_typeclass::Infer>::unify`
[INFO] [stdout]    --> src/L10_typeclass/unification.rs:604:5
[INFO] [stdout]     |
[INFO] [stdout] 604 |     pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc<Val>, u: &Rc<Val>) -> Result<(), UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::<impl L10_typeclass::Infer>::unify` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L10_typeclass/mod.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::<impl L11_macro::Infer>::invert`
[INFO] [stdout]    --> src/L11_macro/unification.rs:86:5
[INFO] [stdout]     |
[INFO] [stdout]  86 | /     pub fn invert(
[INFO] [stdout]  87 | |         &self,
[INFO] [stdout]  88 | |         gamma: Lvl,
[INFO] [stdout]  89 | |         decl: &Decl,
[INFO] [stdout]  90 | |         sp: &Spine,
[INFO] [stdout]  91 | |     ) -> Result<(PartialRenaming, Option<Pruning>), UnifyError> {
[INFO] [stdout]     | |_______________________________________________________________^ method `L11_macro::unification::<impl L11_macro::Infer>::invert` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L11_macro/mod.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::<impl L11_macro::Infer>::prune_ty`
[INFO] [stdout]    --> src/L11_macro/unification.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn prune_ty(&mut self, decl: &Decl, pr: &Pruning, a: &Rc<Val>) -> Result<Rc<Tm>, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::<impl L11_macro::Infer>::prune_ty` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L11_macro/mod.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::<impl L11_macro::Infer>::rename`
[INFO] [stdout]    --> src/L11_macro/unification.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     pub fn rename(&mut self, decl: &Decl, pren: &PartialRenaming, t: &Rc<Val>) -> Result<Rc<Tm>, UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::<impl L11_macro::Infer>::rename` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L11_macro/mod.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::<impl L11_macro::Infer>::solve_multi_trait`
[INFO] [stdout]    --> src/L11_macro/unification.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 474 |     pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::<impl L11_macro::Infer>::solve_multi_trait` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L11_macro/mod.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::<impl L11_macro::Infer>::unify`
[INFO] [stdout]    --> src/L11_macro/unification.rs:645:5
[INFO] [stdout]     |
[INFO] [stdout] 645 |     pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc<Val>, u: &Rc<Val>) -> Result<(), UnifyError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::<impl L11_macro::Infer>::unify` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/L11_macro/mod.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum UnifyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::bump_spine_iter::syntax::PrimId` is more private than the item `L11_macro::bump_spine_iter::syntax::Tm::Prim::1`
[INFO] [stdout]   --> src/L11_macro/bump_spine_iter/syntax.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |     Prim(V, PrimId),
[INFO] [stdout]    |             ^^^^^^ field `L11_macro::bump_spine_iter::syntax::Tm::Prim::1` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `L11_macro::bump_spine_iter::syntax::PrimId` is only usable at visibility `pub(in crate::L11_macro::bump_spine_iter)`
[INFO] [stdout]   --> src/L11_macro/bump_spine_iter/syntax.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) enum PrimId {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L11_macro::bump_spine_iter::syntax::PrimId` is more private than the item `L11_macro::bump_spine_iter::syntax::XCell::Prim::pid`
[INFO] [stdout]    --> src/L11_macro/bump_spine_iter/syntax.rs:247:20
[INFO] [stdout]     |
[INFO] [stdout] 247 |     Prim { typ: V, pid: PrimId },
[INFO] [stdout]     |                    ^^^^^^^^^^^ field `L11_macro::bump_spine_iter::syntax::XCell::Prim::pid` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L11_macro::bump_spine_iter::syntax::PrimId` is only usable at visibility `pub(in crate::L11_macro::bump_spine_iter)`
[INFO] [stdout]    --> src/L11_macro/bump_spine_iter/syntax.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub(super) enum PrimId {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L13_namespace::bump_spine_iter::prim::PrimId` is more private than the item `L13_namespace::bump_spine_iter::prim::DeclEntry::prim`
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/prim.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub(crate) prim: Option<PrimId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L13_namespace::bump_spine_iter::prim::DeclEntry::prim` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `L13_namespace::bump_spine_iter::prim::PrimId` is only usable at visibility `pub(in crate::L13_namespace::bump_spine_iter)`
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/prim.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub(super) enum PrimId {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L13_namespace::bump_spine_iter::machine::TCons<'a>` is more private than the item `L13_namespace::bump_spine_iter::spine::MetaSnap::types`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/spine.rs:169:5
[INFO] [stdout]      |
[INFO] [stdout]  169 |     pub(crate) types: Option<&'a TCons<'a>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L13_namespace::bump_spine_iter::spine::MetaSnap::types` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `L13_namespace::bump_spine_iter::machine::TCons<'a>` is only usable at visibility `pub(in crate::L13_namespace::bump_spine_iter)`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:2086:1
[INFO] [stdout]      |
[INFO] [stdout] 2086 | pub(super) struct TCons<'a> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `L13_namespace::bump_spine_iter::machine::Cxt<'static>` is more private than the item `L13_namespace::bump_spine_iter::spine::MetaSnap::cxt`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/spine.rs:178:5
[INFO] [stdout]      |
[INFO] [stdout]  178 |     pub(crate) cxt: Cxt<'static>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L13_namespace::bump_spine_iter::spine::MetaSnap::cxt` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `L13_namespace::bump_spine_iter::machine::Cxt<'static>` is only usable at visibility `pub(in crate::L13_namespace::bump_spine_iter)`
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:2108:1
[INFO] [stdout]      |
[INFO] [stdout] 2108 | pub(super) struct Cxt<'a> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `layout::Item` is more private than the item `render`
[INFO] [stdout]    --> src/format/layout.rs:400:1
[INFO] [stdout]     |
[INFO] [stdout] 400 | / pub(crate) fn render(
[INFO] [stdout] 401 | |     raw: &str,
[INFO] [stdout] 402 | |     items: &[Item],
[INFO] [stdout] 403 | |     opts: &FormatOptions,
[INFO] [stdout] 404 | |     eol: Eol,
[INFO] [stdout] 405 | | ) -> Option<(String, Vec<usize>)> {
[INFO] [stdout]     | |_________________________________^ function `render` is reachable at visibility `pub(in crate::format)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `layout::Item` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/format/layout.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct Item {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `severity`, `range`, `path_id`, and `msg` are never read
[INFO] [stdout]    --> src/parser_lib.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Diagnostic {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 191 |     severity: Severity,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 192 |     range: (u32, u32),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 193 |     path_id: PathId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 194 |     msg: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Diagnostic` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `many0_sep` and `many1_sep` are never used
[INFO] [stdout]    --> src/parser_lib.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub trait Parser<I: Copy, A>: Sized + Copy {
[INFO] [stdout]     |           ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn many0_sep<P, X>(self, sep: P) -> impl Parser<I, Vec<A>>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn many1_sep<P, X>(self, sep: P) -> impl Parser<I, Vec<A>>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Maybe` is never used
[INFO] [stdout]    --> src/parser_lib.rs:354:10
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub enum Maybe<T, E> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used
[INFO] [stdout]    --> src/parser_lib.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl<T, E> Maybe<T, E> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 371 |     pub fn map<U, F>(self, mut f: F) -> Maybe<U, E>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn and_then<U, F>(self, f: F) -> Maybe<U, E>
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn unwrap_or_else<F>(self, f: F) -> T
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raise_err` is never used
[INFO] [stdout]    --> src/parser_lib.rs:401:12
[INFO] [stdout]     |
[INFO] [stdout] 400 | impl<T, E: Debug> Maybe<T, E> {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 401 |     pub fn raise_err(self, err: &mut Vec<Diagnostic>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maybe` is never used
[INFO] [stdout]    --> src/parser_lib.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn maybe<'a: 'b, 'b, T, P, N: 'a + Copy, E: Copy>(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pmatch_empty` is never used
[INFO] [stdout]    --> src/parser_lib.rs:460:8
[INFO] [stdout]     |
[INFO] [stdout] 460 | pub fn pmatch_empty<'a, P: Pattern + Copy>(pat: P) -> impl Parser<Input<'a>, Span<&'a str>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AstDebug` is never used
[INFO] [stdout]    --> src/parser_lib.rs:501:11
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub trait AstDebug {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Input` is never used
[INFO] [stdout]    --> src/parser_lib_resilient.rs:316:10
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub type Input<'a> = Span<&'a str>;
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Maybe` is never used
[INFO] [stdout]    --> src/parser_lib_resilient.rs:319:10
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum Maybe<T, E> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used
[INFO] [stdout]    --> src/parser_lib_resilient.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 335 | impl<T, E> Maybe<T, E> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 336 |     pub fn map<U, F>(self, mut f: F) -> Maybe<U, E>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn and_then<U, F>(self, f: F) -> Maybe<U, E>
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn unwrap_or_else<F>(self, f: F) -> T
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raise_err` is never used
[INFO] [stdout]    --> src/parser_lib_resilient.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl<T, E: Debug> Maybe<T, E> {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 366 |     pub fn raise_err(self, err: &mut Vec<Diagnostic>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AstDebug` is never used
[INFO] [stdout]    --> src/parser_lib_resilient.rs:446:11
[INFO] [stdout]     |
[INFO] [stdout] 446 | pub trait AstDebug {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BD` is never used
[INFO] [stdout]    --> src/L13_namespace/mod.rs:462:6
[INFO] [stdout]     |
[INFO] [stdout] 462 | enum BD {
[INFO] [stdout]     |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `list_other_nodes`, `smolstr_unique`, and `smolstr_heap_est` are never read
[INFO] [stdout]     --> src/L13_namespace/mod.rs:1940:5
[INFO] [stdout]      |
[INFO] [stdout] 1932 | struct DetailCounts {
[INFO] [stdout]      |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1940 |     list_other_nodes: usize,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 1941 |     smolstr_unique: usize,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 1942 |     smolstr_heap_est: usize,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `walk_tm` and `count_smolstr` are never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:2021:8
[INFO] [stdout]      |
[INFO] [stdout] 1948 | impl DetailCounts {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2021 |     fn walk_tm(&mut self, tm: &Rc<Tm>, visited: &mut std::collections::HashSet<usize>) {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2180 |     fn count_smolstr(&mut self, s: &SmolStr, visited: &mut std::collections::HashSet<usize>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_prelude_state` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4086:4
[INFO] [stdout]      |
[INFO] [stdout] 4086 | fn load_prelude_state() -> Result<PreludeState, Error> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `macros` is never read
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4159:9
[INFO] [stdout]      |
[INFO] [stdout] 4146 | pub(crate) struct PreludeParse {
[INFO] [stdout]      |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 4159 |     pub macros: PreludeMacros,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tm_size_ref` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4747:15
[INFO] [stdout]      |
[INFO] [stdout] 4747 | pub(crate) fn tm_size_ref(t: &Tm) -> u64 {
[INFO] [stdout]      |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_check` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4805:15
[INFO] [stdout]      |
[INFO] [stdout] 4805 | pub(crate) fn bench_check(decls: &[parser::syntax::Decl]) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_check_nf` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4819:15
[INFO] [stdout]      |
[INFO] [stdout] 4819 | pub(crate) fn bench_check_nf(decls: &[parser::syntax::Decl]) -> u64 {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_check_nf_bounded` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4852:15
[INFO] [stdout]      |
[INFO] [stdout] 4852 | pub(crate) fn bench_check_nf_bounded(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_check_nf_pretty_bounded` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4896:15
[INFO] [stdout]      |
[INFO] [stdout] 4896 | pub(crate) fn bench_check_nf_pretty_bounded(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bench_check_first_err_bounded` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:4931:15
[INFO] [stdout]      |
[INFO] [stdout] 4931 | pub(crate) fn bench_check_first_err_bounded(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_multi_into_test` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:6433:4
[INFO] [stdout]      |
[INFO] [stdout] 6433 | fn run_multi_into_test(input: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mk_multi_into_test` is never used
[INFO] [stdout]     --> src/L13_namespace/mod.rs:6444:4
[INFO] [stdout]      |
[INFO] [stdout] 6444 | fn mk_multi_into_test(extra: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tm_lam` is never used
[INFO] [stdout]    --> src/L13_namespace/cxt.rs:946:15
[INFO] [stdout]     |
[INFO] [stdout] 946 | pub(super) fn tm_lam(names: &[&str], inner: Rc<Tm>) -> Rc<Tm> {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_until_inner` is never used
[INFO] [stdout]   --> src/L13_namespace/parser/mod.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn skip_until_inner<'a: 'b, 'b>(kind: TokenKind) -> impl Fn(&'b [TokenNode<'a>]) -> &'b [TokenNode<'a>] + Copy {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `goal`, `instances`, `index`, and `assertion_idx` are never read
[INFO] [stdout]   --> src/L13_namespace/typeclass.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct GeneratorNode {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 31 |     goal: Assertion,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     instances: Vec<Instance>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 33 |     index: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     assertion_idx: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GeneratorNode` 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 `goal`, `subgoals`, `lvl`, and `assertion_idx` are never read
[INFO] [stdout]   --> src/L13_namespace/typeclass.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ConsumerNode {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 41 |     goal: Assertion,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 42 |     subgoals: List<Assertion>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     lvl: Span<SmolStr>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 44 |     assertion_idx: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumerNode` 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 `Root` and `ConsumerNode` are never constructed
[INFO] [stdout]   --> src/L13_namespace/typeclass.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum Waiter {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 56 |     Root,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 57 |     ConsumerNode(ConsumerNode),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Waiter` 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 `waiters` is never read
[INFO] [stdout]   --> src/L13_namespace/typeclass.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct TableEntry {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 73 |     pub waiters: Vec<Waiter>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TableEntry` 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: function `uncons` is never used
[INFO] [stdout]    --> src/L13_namespace/typeclass.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn uncons<T: Clone>(xs: &List<T>) -> Option<(T, List<T>)> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/L13_namespace/typeclass.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Synth {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 134 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn try_answer(&mut self, subgoal: &Assertion, answer: &Assertion) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     fn try_resolve(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     fn find_assertion_entry(&self, target: &Assertion) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     pub fn synth(&mut self, assertion: Assertion) -> Option<Span<SmolStr>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     fn new_subgoal(&mut self, subgoal: &Assertion, waiter: &Waiter) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     fn consume(&mut self, consumer_node: ConsumerNode) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `church_src` is never used
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/bench_src.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(crate) fn church_src(k: u32) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `natadd_src` is never used
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/bench_src.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn natadd_src(k: u32) -> String {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gadt_src` is never used
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/bench_src.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) fn gadt_src() -> String {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strchain_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub(crate) fn strchain_src(k: u32) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub(crate) fn match_src(k: u32) -> String {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) fn enum_src() -> String {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moduletree_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub(crate) fn moduletree_src() -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `struct_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub(crate) fn struct_src(k: u32) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wide_enum_src` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/bench_src.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) fn wide_enum_src(k: u32) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dbg_span_unit` is never used
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/debug.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn dbg_span_unit() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strconv_quote` is never used
[INFO] [stdout]   --> src/L13_namespace/bump_spine_iter/debug.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn strconv_quote(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_tm` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/debug.rs:262:4
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn debug_tm(t: &Tm<'_>) -> String {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tm_size` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/entry.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn tm_size(t: &Tm<'_>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `elab_all` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/entry.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 349 | impl Machine {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn elab_all<'a>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `metas` is never read
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/entry.rs:787:5
[INFO] [stdout]     |
[INFO] [stdout] 773 | struct Resident {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 787 |     metas: Vec<MetaEntry>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/entry.rs:885:19
[INFO] [stdout]      |
[INFO] [stdout]  867 | impl Tycker {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  885 |     pub(crate) fn last_kick_metas_created(&self) -> usize {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1442 |     pub(crate) fn resident_user_bytes(&self) -> usize {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1460 |     pub(crate) fn hover_entry_at(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1473 |     pub(crate) fn run_decls(&mut self, ast: &[Decl]) -> Result<String, Error> {
[INFO] [stdout]      |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1479 |     pub(crate) fn run_decls_bounded(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1566 |     pub(crate) fn run_decls_with_prelude(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1625 |     pub(crate) fn run_input(&mut self, input: &str, path_id: u32) -> Result<String, Error> {
[INFO] [stdout]      |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1635 |     pub(crate) fn bench_check(&mut self, ast: &[Decl]) -> bool {
[INFO] [stdout]      |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1646 |     pub(crate) fn bench_check_nf(&mut self, ast: &[Decl]) -> u64 {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1651 |     pub(crate) fn bench_check_nf_memo(&mut self, ast: &[Decl]) -> u64 {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1655 |     fn bench_nf_impl(&mut self, ast: &[Decl], use_memo: bool) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1679 |     pub(crate) fn bench_check_nf_bounded(&mut self, ast: &[Decl], nat_after: &[usize]) -> u64 {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1792 |     pub(crate) fn bench_check_nf_pretty_bounded(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_fast` is never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/entry.rs:1827:15
[INFO] [stdout]      |
[INFO] [stdout] 1827 | pub(crate) fn run_fast(input: &str, path_id: u32) -> Result<String, Error> {
[INFO] [stdout]      |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/entry.rs:1834:15
[INFO] [stdout]      |
[INFO] [stdout] 1834 | pub(crate) fn parse(input: &str, path_id: u32) -> Result<Vec<Decl>, String> {
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SourceDecl` is never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/entry.rs:1842:17
[INFO] [stdout]      |
[INFO] [stdout] 1842 | pub(crate) type SourceDecl = Decl;
[INFO] [stdout]      |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ns_method_keys_for` and `quote_memo` are never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:972:8
[INFO] [stdout]      |
[INFO] [stdout]  537 | impl Machine {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  972 |     fn ns_method_keys_for(&mut self, head: Option<&NsCons<'_>>) -> FxHashSet<SmolStr> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1366 |     pub(super) fn quote_memo<'a>(&mut self, bump: &'a Bump, cxt: &Cxt<'a>, level: u32, v: V) -> &'a Tm<'a> {
[INFO] [stdout]      |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_pure_probe` and `update_cxt` are never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:2547:8
[INFO] [stdout]      |
[INFO] [stdout] 2323 | impl Machine {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2547 |     fn run_pure_probe<R>(&mut self, f: impl FnOnce(&mut Machine) -> R) -> R {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2766 |     fn update_cxt<'a>(
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `t_span_of` is never used
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:5338:4
[INFO] [stdout]      |
[INFO] [stdout] 5338 | fn t_span_of(t: &Raw) -> crate::parser_lib::Span<()> {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:5382:11
[INFO] [stdout]      |
[INFO] [stdout] 5382 |     Def { name: &'a str },
[INFO] [stdout]      |     ---   ^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> src/L13_namespace/bump_spine_iter/machine.rs:5385:13
[INFO] [stdout]      |
[INFO] [stdout] 5385 |     Println(&'a Tm<'a>, crate::parser_lib::Span<()>, String),
[INFO] [stdout]      |     ------- ^^^^^^^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     field in this variant
[INFO] [stdout]      |
[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] 5385 -     Println(&'a Tm<'a>, crate::parser_lib::Span<()>, String),
[INFO] [stdout] 5385 +     Println((), crate::parser_lib::Span<()>, String),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hover_entry_at` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/observe.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl Machine {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub(super) fn hover_entry_at(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meta_unsolved` is never used
[INFO] [stdout]    --> src/L13_namespace/bump_spine_iter/spine.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub(crate) fn meta_unsolved<'a>(m: &MetaEntry) -> (V, &'a MetaSnap<'a>, V, crate::parser_lib::Span<()>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&smol_str::SmolStr` instead of cloning the inner type
[INFO] [stdout]     --> src/L12_canonical/elaboration.rs:1185:36
[INFO] [stdout]      |
[INFO] [stdout] 1185 | ...                   name: x.clone().clone(),
[INFO] [stdout]      |                              ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&smol_str::SmolStr` instead of cloning the inner type
[INFO] [stdout]     --> src/L12_canonical/elaboration.rs:1228:36
[INFO] [stdout]      |
[INFO] [stdout] 1228 | ...                   name: x.clone().clone(),
[INFO] [stdout]      |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/L12_canonical/parser/mod.rs:1389:30
[INFO] [stdout]      |
[INFO] [stdout] 1389 |                 for items in clause {
[INFO] [stdout]      |                              ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1389 -                 for items in clause {
[INFO] [stdout] 1389 +                 while let Some(items) = clause {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1389 -                 for items in clause {
[INFO] [stdout] 1389 +                 if let Some(items) = clause {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/L13_namespace/parser/mod.rs:1978:30
[INFO] [stdout]      |
[INFO] [stdout] 1978 |                 for items in clause {
[INFO] [stdout]      |                              ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 1978 -                 for items in clause {
[INFO] [stdout] 1978 +                 while let Some(items) = clause {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 1978 -                 for items in clause {
[INFO] [stdout] 1978 +                 if let Some(items) = clause {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e", kill_on_drop: false }`
[INFO] [stdout] 5f752aa60dba9b6c16de9b14f698fc62243ec7b10caea3f2936f9b82d2dd6f0e
