[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] b102aae97337d46cf0371a6758877a910bc80ca0 [INFO] checking yportne13/elaboration-zoo-lsp against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/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-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yportne13/elaboration-zoo-lsp on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lsp-server v0.7.8 [INFO] [stderr] Downloaded lsp-types v0.95.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 154fbed2acabe5b3bf63a753b6c6445848329f44364604ba26668db64bac997b [INFO] running `Command { std: "docker" "start" "-a" "154fbed2acabe5b3bf63a753b6c6445848329f44364604ba26668db64bac997b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "154fbed2acabe5b3bf63a753b6c6445848329f44364604ba26668db64bac997b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "154fbed2acabe5b3bf63a753b6c6445848329f44364604ba26668db64bac997b", kill_on_drop: false }` [INFO] [stdout] 154fbed2acabe5b3bf63a753b6c6445848329f44364604ba26668db64bac997b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e43aa271d0caac53b12e2e2a911cb2edcdbcb1b5ba9f6e3b62bb073d61d17bdd [INFO] running `Command { std: "docker" "start" "-a" "e43aa271d0caac53b12e2e2a911cb2edcdbcb1b5ba9f6e3b62bb073d61d17bdd", 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] Checking writeable v0.5.5 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking crossbeam-channel v0.5.14 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [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 icu_normalizer v1.5.0 [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 elaboration-zoo-lsp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L03_holes/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L04_implicit/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L04_implicit/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L04_implicit/elaboration.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/L04_implicit/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/L05_pruning/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L05_pruning/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::NameOrigin, empty_span, lvl2ix, parser::syntax::{Either, Icit, Raw}, Closure, Cxt, Error, Infer, Ix, Tm, VTy, Val [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L05_pruning/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L05_pruning/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L06_string/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L06_string/elaboration.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::NameOrigin, empty_span, lvl2ix, parser::syntax::{Decl, Either, Icit, Raw}, Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L06_string/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/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/L03_holes/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L04_implicit/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L04_implicit/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L04_implicit/elaboration.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/L04_implicit/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Pattern` [INFO] [stdout] --> src/L07_sum_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L05_pruning/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07_sum_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L05_pruning/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span, L07_sum_type::{parser::syntax::Pattern, pattern_match::Compiler, PatternDetail}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::NameOrigin, empty_span, lvl2ix, parser::syntax::{Either, Icit, Raw}, Closure, Cxt, Error, Infer, Ix, Tm, VTy, Val [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_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: `colored::Colorize` [INFO] [stdout] --> src/L05_pruning/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/L07_sum_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07_sum_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L05_pruning/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/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/L07a_depend_pm/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pattern` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/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: `Ix` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:6:80 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{parser_lib::{Span, ToSpan}, L07a_depend_pm::{parser::syntax::Icit, Ix}}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | Env, Error, Infer, Lvl, Tm, Val, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Raw` [INFO] [stdout] --> src/L06_string/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Raw}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L06_string/elaboration.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::NameOrigin, empty_span, lvl2ix, parser::syntax::{Decl, Either, Icit, Raw}, Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L06_string/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L06_string/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Pattern` [INFO] [stdout] --> src/L07_sum_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07_sum_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span, L07_sum_type::{parser::syntax::Pattern, pattern_match::Compiler, PatternDetail}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_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: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Either` [INFO] [stdout] --> src/L08_product_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L08_product_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/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/L08_product_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07_sum_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:5:56 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{L08_product_type::pattern_match::Compiler, list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `newKeyword` should have an upper camel case name [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | newKeyword, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `NewKeyword` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [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: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pattern` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::empty_span` [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/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: `Ix` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:6:80 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{parser_lib::{Span, ToSpan}, L07a_depend_pm::{parser::syntax::Icit, Ix}}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | Env, Error, Infer, Lvl, Tm, Val, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L08_product_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Either` [INFO] [stdout] --> src/L09_mltt/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L09_mltt/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L09_mltt/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: `super::empty_span` [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L09_mltt/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Either` [INFO] [stdout] --> src/L08_product_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L08_product_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:5:56 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{L08_product_type::pattern_match::Compiler, list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `newKeyword` should have an upper camel case name [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | newKeyword, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `NewKeyword` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [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: `super::empty_span` [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L08_product_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Either` [INFO] [stdout] --> src/L09_mltt/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L09_mltt/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L09_mltt/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: `super::empty_span` [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L09_mltt/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L03_holes/mod.rs:338:32 [INFO] [stdout] | [INFO] [stdout] 338 | Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError), // occurs check [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L03_holes/mod.rs:492:22 [INFO] [stdout] | [INFO] [stdout] 492 | (Val::Pi(x, a, b_closure), Val::Pi(x_prime, a_prime, b_prime_closure)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L03_holes/mod.rs:492:48 [INFO] [stdout] | [INFO] [stdout] 492 | (Val::Pi(x, a, b_closure), Val::Pi(x_prime, a_prime, b_prime_closure)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L03_holes/mod.rs:661:25 [INFO] [stdout] | [INFO] [stdout] 661 | (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L03_holes/mod.rs:338:32 [INFO] [stdout] | [INFO] [stdout] 338 | Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError), // occurs check [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L03_holes/mod.rs:492:22 [INFO] [stdout] | [INFO] [stdout] 492 | (Val::Pi(x, a, b_closure), Val::Pi(x_prime, a_prime, b_prime_closure)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L03_holes/mod.rs:492:48 [INFO] [stdout] | [INFO] [stdout] 492 | (Val::Pi(x, a, b_closure), Val::Pi(x_prime, a_prime, b_prime_closure)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L03_holes/mod.rs:661:25 [INFO] [stdout] | [INFO] [stdout] 661 | (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:87:25 [INFO] [stdout] | [INFO] [stdout] 87 | (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:136:22 [INFO] [stdout] | [INFO] [stdout] 136 | Raw::Lam(x, Either::Name(_), t) => { [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/L04_implicit/elaboration.rs:136:42 [INFO] [stdout] | [INFO] [stdout] 136 | Raw::Lam(x, Either::Name(_), t) => { [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/L04_implicit/unification.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError), // occurs check [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_t` [INFO] [stdout] --> src/L04_implicit/unification.rs:185:41 [INFO] [stdout] | [INFO] [stdout] 185 | (Val::Lam(_, i, t_closure), t_t) => self.unify( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_t_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L04_implicit/unification.rs:195:22 [INFO] [stdout] | [INFO] [stdout] 195 | (Val::Pi(x, i, a, b_closure), Val::Pi(x_prime, i_prime, a_prime, b_prime_closure)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L04_implicit/unification.rs:195:51 [INFO] [stdout] | [INFO] [stdout] 195 | (Val::Pi(x, i, a, b_closure), Val::Pi(x_prime, i_prime, a_prime, b_prime_closure)) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:87:25 [INFO] [stdout] | [INFO] [stdout] 87 | (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:136:22 [INFO] [stdout] | [INFO] [stdout] 136 | Raw::Lam(x, Either::Name(_), t) => { [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/L04_implicit/elaboration.rs:136:42 [INFO] [stdout] | [INFO] [stdout] 136 | Raw::Lam(x, Either::Name(_), t) => { [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/L04_implicit/unification.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | Val::Flex(m_prime, sp) if m == m_prime => Err(UnifyError), // occurs check [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_t` [INFO] [stdout] --> src/L04_implicit/unification.rs:185:41 [INFO] [stdout] | [INFO] [stdout] 185 | (Val::Lam(_, i, t_closure), t_t) => self.unify( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_t_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L04_implicit/unification.rs:195:22 [INFO] [stdout] | [INFO] [stdout] 195 | (Val::Pi(x, i, a, b_closure), Val::Pi(x_prime, i_prime, a_prime, b_prime_closure)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L04_implicit/unification.rs:195:51 [INFO] [stdout] | [INFO] [stdout] 195 | (Val::Pi(x, i, a, b_closure), Val::Pi(x_prime, i_prime, a_prime, b_prime_closure)) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:155:22 [INFO] [stdout] | [INFO] [stdout] 155 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L05_pruning/elaboration.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 155 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L05_pruning/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L05_pruning/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L05_pruning/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L05_pruning/unification.rs:275:37 [INFO] [stdout] | [INFO] [stdout] 275 | 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/L05_pruning/unification.rs:288:37 [INFO] [stdout] | [INFO] [stdout] 288 | 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/L05_pruning/unification.rs:430:22 [INFO] [stdout] | [INFO] [stdout] 430 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L05_pruning/unification.rs:430:43 [INFO] [stdout] | [INFO] [stdout] 430 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:155:22 [INFO] [stdout] | [INFO] [stdout] 155 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L05_pruning/elaboration.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 155 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L05_pruning/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L05_pruning/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L05_pruning/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L05_pruning/unification.rs:275:37 [INFO] [stdout] | [INFO] [stdout] 275 | 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/L05_pruning/unification.rs:288:37 [INFO] [stdout] | [INFO] [stdout] 288 | 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/L05_pruning/unification.rs:430:22 [INFO] [stdout] | [INFO] [stdout] 430 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L05_pruning/unification.rs:430:43 [INFO] [stdout] | [INFO] [stdout] 430 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L06_string/elaboration.rs:218:22 [INFO] [stdout] | [INFO] [stdout] 218 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L06_string/elaboration.rs:218:42 [INFO] [stdout] | [INFO] [stdout] 218 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L06_string/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L06_string/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L06_string/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L06_string/unification.rs:278:37 [INFO] [stdout] | [INFO] [stdout] 278 | 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/L06_string/unification.rs:291:37 [INFO] [stdout] | [INFO] [stdout] 291 | 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/L06_string/unification.rs:433:22 [INFO] [stdout] | [INFO] [stdout] 433 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L06_string/unification.rs:433:43 [INFO] [stdout] | [INFO] [stdout] 433 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L06_string/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L06_string/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L06_string/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L07_sum_type/elaboration.rs:368:42 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L06_string/elaboration.rs:218:22 [INFO] [stdout] | [INFO] [stdout] 218 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L06_string/elaboration.rs:218:42 [INFO] [stdout] | [INFO] [stdout] 218 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L06_string/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L06_string/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L06_string/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L06_string/unification.rs:278:37 [INFO] [stdout] | [INFO] [stdout] 278 | 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/L06_string/unification.rs:291:37 [INFO] [stdout] | [INFO] [stdout] 291 | 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/L06_string/unification.rs:433:22 [INFO] [stdout] | [INFO] [stdout] 433 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L06_string/unification.rs:433:43 [INFO] [stdout] | [INFO] [stdout] 433 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L06_string/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L06_string/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L06_string/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L07_sum_type/elaboration.rs:368:42 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `ret_bind` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:397:45 [INFO] [stdout] | [INFO] [stdout] 397 | PatternDetail::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L07_sum_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/unification.rs:298:29 [INFO] [stdout] | [INFO] [stdout] 298 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:321:37 [INFO] [stdout] | [INFO] [stdout] 321 | 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/L07_sum_type/unification.rs:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | 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_prime` [INFO] [stdout] --> src/L07_sum_type/unification.rs:493:43 [INFO] [stdout] | [INFO] [stdout] 493 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | 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: `env` [INFO] [stdout] --> src/L07_sum_type/mod.rs:415:29 [INFO] [stdout] | [INFO] [stdout] 415 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:122:46 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:377:22 [INFO] [stdout] | [INFO] [stdout] 377 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L07a_depend_pm/elaboration.rs:377:42 [INFO] [stdout] | [INFO] [stdout] 377 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `ret_bind` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:397:45 [INFO] [stdout] | [INFO] [stdout] 397 | PatternDetail::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L07_sum_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/unification.rs:298:29 [INFO] [stdout] | [INFO] [stdout] 298 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:321:37 [INFO] [stdout] | [INFO] [stdout] 321 | 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/L07_sum_type/unification.rs:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | 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_prime` [INFO] [stdout] --> src/L07_sum_type/unification.rs:493:43 [INFO] [stdout] | [INFO] [stdout] 493 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | 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: `env` [INFO] [stdout] --> src/L07_sum_type/mod.rs:415:29 [INFO] [stdout] | [INFO] [stdout] 415 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:122:46 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:377:22 [INFO] [stdout] | [INFO] [stdout] 377 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L07a_depend_pm/elaboration.rs:377:42 [INFO] [stdout] | [INFO] [stdout] 377 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `ret_bind` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:233:51 [INFO] [stdout] | [INFO] [stdout] 233 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:274:60 [INFO] [stdout] | [INFO] [stdout] 274 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:448:39 [INFO] [stdout] | [INFO] [stdout] 448 | .fold(cxt.clone(), |cxt, (name, val, vty, _)| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vty` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:448:50 [INFO] [stdout] | [INFO] [stdout] 448 | .fold(cxt.clone(), |cxt, (name, val, vty, _)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_vty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:458:45 [INFO] [stdout] | [INFO] [stdout] 458 | PatternDetail::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L07a_depend_pm/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:312:29 [INFO] [stdout] | [INFO] [stdout] 312 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:335:37 [INFO] [stdout] | [INFO] [stdout] 335 | 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/L07a_depend_pm/unification.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | 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_prime` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:519:43 [INFO] [stdout] | [INFO] [stdout] 519 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | 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: `tail` [INFO] [stdout] --> src/L07a_depend_pm/subst.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | let tail = self.subst_spine(cxt, spine.tail().clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tail` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:432:29 [INFO] [stdout] | [INFO] [stdout] 432 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L08_product_type/cxt.rs:108:46 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:347:22 [INFO] [stdout] | [INFO] [stdout] 347 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L08_product_type/elaboration.rs:347:42 [INFO] [stdout] | [INFO] [stdout] 347 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `ret_bind` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:233:51 [INFO] [stdout] | [INFO] [stdout] 233 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:274:60 [INFO] [stdout] | [INFO] [stdout] 274 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:448:39 [INFO] [stdout] | [INFO] [stdout] 448 | .fold(cxt.clone(), |cxt, (name, val, vty, _)| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vty` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:448:50 [INFO] [stdout] | [INFO] [stdout] 448 | .fold(cxt.clone(), |cxt, (name, val, vty, _)| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_vty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:458:45 [INFO] [stdout] | [INFO] [stdout] 458 | PatternDetail::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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/L07a_depend_pm/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:394:39 [INFO] [stdout] | [INFO] [stdout] 394 | Pattern::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:312:29 [INFO] [stdout] | [INFO] [stdout] 312 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:335:37 [INFO] [stdout] | [INFO] [stdout] 335 | 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/L07a_depend_pm/unification.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | 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/L08_product_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:519:43 [INFO] [stdout] | [INFO] [stdout] 519 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:327:37 [INFO] [stdout] | [INFO] [stdout] 327 | 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: `p` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:340:37 [INFO] [stdout] | [INFO] [stdout] 340 | 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: `top_ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | 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: `x` [INFO] [stdout] --> src/L08_product_type/unification.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L08_product_type/unification.rs:495:43 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tail` [INFO] [stdout] --> src/L07a_depend_pm/subst.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | let tail = self.subst_spine(cxt, spine.tail().clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tail` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:432:29 [INFO] [stdout] | [INFO] [stdout] 432 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L08_product_type/cxt.rs:108:46 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L09_mltt/cxt.rs:108:46 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | 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: `x` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:347:22 [INFO] [stdout] | [INFO] [stdout] 347 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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/L08_product_type/elaboration.rs:347:42 [INFO] [stdout] | [INFO] [stdout] 347 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:416:22 [INFO] [stdout] | [INFO] [stdout] 416 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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:416:42 [INFO] [stdout] | [INFO] [stdout] 416 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `item_pats` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:394:39 [INFO] [stdout] | [INFO] [stdout] 394 | Pattern::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:327:37 [INFO] [stdout] | [INFO] [stdout] 327 | 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:340:37 [INFO] [stdout] | [INFO] [stdout] 340 | 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/unification.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L09_mltt/unification.rs:495:43 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list` [INFO] [stdout] --> src/L09_mltt/mod.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | Tm::AppPruning(tm, list) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [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::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` 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:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` 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:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::env` [INFO] [stdout] --> src/L04_implicit/cxt.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::cxt::Cxt::lvl` [INFO] [stdout] --> src/L04_implicit/cxt.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub lvl: Lvl, // Used for unification [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::lvl` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::types` [INFO] [stdout] --> src/L04_implicit/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub types: Types, // Used for raw name lookup and pretty printing [INFO] [stdout] | ^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::BD` is more private than the item `L04_implicit::cxt::Cxt::bds` [INFO] [stdout] --> src/L04_implicit/cxt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub bds: List, // Used for fresh meta creation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::bds` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::BD` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::bind` [INFO] [stdout] --> src/L04_implicit/cxt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L04_implicit/cxt.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::define` [INFO] [stdout] --> src/L04_implicit/cxt.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::UnifyError` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::env` [INFO] [stdout] --> src/L05_pruning/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::src_names` [INFO] [stdout] --> src/L05_pruning/cxt.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub src_names: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L05_pruning/cxt.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::new_binder` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::UnifyError` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::3` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | 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:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [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:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer` [INFO] [stdout] --> src/L06_string/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::UnifyError` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::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:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | 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:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::UnifyError` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:171:1 [INFO] [stdout] | [INFO] [stdout] 171 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07a_depend_pm::UnifyError` is more private than the item `L07a_depend_pm::unification::::unify` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:496:5 [INFO] [stdout] | [INFO] [stdout] 496 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07a_depend_pm::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07a_depend_pm::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Ix` is more private than the item `L08_product_type::Tm::Var::0` [INFO] [stdout] --> src/L08_product_type/mod.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Var(Ix), [INFO] [stdout] | ^^ field `L08_product_type::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::MetaVar` is more private than the item `L08_product_type::Tm::Meta::0` [INFO] [stdout] --> src/L08_product_type/mod.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L08_product_type::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::Infer::nf` [INFO] [stdout] --> src/L08_product_type/mod.rs:416:5 [INFO] [stdout] | [INFO] [stdout] 416 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::env` [INFO] [stdout] --> src/L08_product_type/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L08_product_type::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::src_names` [INFO] [stdout] --> src/L08_product_type/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L08_product_type::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::bind` [INFO] [stdout] --> src/L08_product_type/cxt.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L08_product_type/cxt.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::define` [INFO] [stdout] --> src/L08_product_type/cxt.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::check` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::infer` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::infer_expr` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::UnifyError` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Ix` is more private than the item `L09_mltt::Tm::Var::0` [INFO] [stdout] --> src/L09_mltt/mod.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Var(Ix), [INFO] [stdout] | ^^ field `L09_mltt::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::MetaVar` is more private than the item `L09_mltt::Tm::Meta::0` [INFO] [stdout] --> src/L09_mltt/mod.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L09_mltt::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::Infer::nf` [INFO] [stdout] --> src/L09_mltt/mod.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::env` [INFO] [stdout] --> src/L09_mltt/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L09_mltt::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::src_names` [INFO] [stdout] --> src/L09_mltt/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L09_mltt::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::bind` [INFO] [stdout] --> src/L09_mltt/cxt.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L09_mltt/cxt.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::define` [INFO] [stdout] --> src/L09_mltt/cxt.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::check` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::infer` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::infer_expr` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:356:5 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::MetaVar` is more private than the item `L09_mltt::unification::PartialRenaming::occ` [INFO] [stdout] --> src/L09_mltt/unification.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub occ: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `L09_mltt::unification::PartialRenaming::occ` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::lams` [INFO] [stdout] --> src/L09_mltt/unification.rs:354:5 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::lams` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser_lib.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Span { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn contains(&self, offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn diagnostic>(&self, severity: Severity, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn error>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn warning>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn info>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn note>(&self, msg: U) -> (PathId, u32, u32, String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Severity` is never used [INFO] [stdout] --> src/parser_lib.rs:105:10 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum Severity { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Diagnostic` is never constructed [INFO] [stdout] --> src/parser_lib.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_note` is never used [INFO] [stdout] --> src/parser_lib.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl Diagnostic { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 121 | pub fn with_note(mut self, note: (PathId, u32, u32, String)) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:276:10 [INFO] [stdout] | [INFO] [stdout] 276 | pub enum Maybe { [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:293:12 [INFO] [stdout] | [INFO] [stdout] 292 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 293 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn unwrap_or_else(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:323:12 [INFO] [stdout] | [INFO] [stdout] 322 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 323 | pub fn raise_err(self, err: &mut Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn maybe<'a: 'b, 'b, T, P, N: 'a + Copy, E: Copy>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib.rs:403:11 [INFO] [stdout] | [INFO] [stdout] 403 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const KEYWORD: [(&str, TokenKind); 12] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:67:7 [INFO] [stdout] | [INFO] [stdout] 67 | const OP: [(&str, TokenKind); 16] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const KEYWORD: [(&str, TokenKind); 2] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const OP: [(&str, TokenKind); 7] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pretty` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 39 | impl Tm { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] 40 | fn pretty(&self, names: List<(Span, Val)>) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:78:6 [INFO] [stdout] | [INFO] [stdout] 78 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | type Spine = List; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:93:6 [INFO] [stdout] | [INFO] [stdout] 93 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L03_holes/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 95 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 96 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn lift(pr: PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lams` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn lams(l: Lvl, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:158:6 [INFO] [stdout] | [INFO] [stdout] 158 | type Types = List<(Span, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, and `define` are never used [INFO] [stdout] --> src/L03_holes/mod.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 169 | fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L03_holes/mod.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 203 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn fresh_meta(&mut self, cxt: &Cxt) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | fn v_app(&self, t: Val, u: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn v_app_bds(&self, env: &Env, v: Val, bds: &List) -> Val { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn invert_go(&self, sp: Spine) -> Result<(Lvl, HashMap), UnifyError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | fn invert(&self, gamma: Lvl, sp: Spine) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn rename_go_sp( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | fn rename_go(&self, m: MetaVar, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn rename(&self, m: MetaVar, pren: PartialRenaming, v: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 376 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 423 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 427 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | fn unify_sp(&mut self, l: Lvl, sp: &List, sp_prime: &List) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 520 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 632 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_binder` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn p_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:30:10 [INFO] [stdout] | [INFO] [stdout] 30 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const OP: [(&str, TokenKind); 9] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:62:6 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:70:6 [INFO] [stdout] | [INFO] [stdout] 70 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L04_implicit/mod.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 72 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 73 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L04_implicit/mod.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 108 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn fresh_meta(&mut self, cxt: &Cxt) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn v_app_bds(&self, env: &Env, v: Val, bds: &List) -> Val { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn p_lam_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Span, Either))> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn p_pi_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Vec>, Raw, Icit))> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const OP: [(&str, TokenKind); 11] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L04_implicit/elaboration.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 10 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn insert_until_go(&mut self, cxt: &Cxt, name: Span, t: Tm, va: Val) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn insert_until_name(&mut self, cxt: &Cxt, name: Span, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L04_implicit/cxt.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 21 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L04_implicit/unification.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L04_implicit/unification.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn lift(pr: PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lams` is never used [INFO] [stdout] --> src/L04_implicit/unification.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lams(l: List, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L04_implicit/unification.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 46 | fn invert_go(&self, sp: Spine) -> Result<(Lvl, HashMap), UnifyError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn invert(&self, gamma: Lvl, sp: Spine) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn rename_go_sp( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn rename_go(&self, m: MetaVar, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn rename(&self, m: MetaVar, pren: PartialRenaming, v: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 45 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:58:6 [INFO] [stdout] | [INFO] [stdout] 58 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:64:6 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L05_pruning/mod.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 75 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L05_pruning/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 110 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn p_lam_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Span, Either))> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn p_pi_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Vec>, Raw, Icit))> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const OP: [(&str, TokenKind); 11] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L05_pruning/elaboration.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 10 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L05_pruning/cxt.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 24 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L05_pruning/unification.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L05_pruning/unification.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 49 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L06_string/mod.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L06_string/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeclTm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L06_string/mod.rs:60:6 [INFO] [stdout] | [INFO] [stdout] 60 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L06_string/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L06_string/mod.rs:73:6 [INFO] [stdout] | [INFO] [stdout] 73 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L06_string/mod.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L06_string/mod.rs:90:6 [INFO] [stdout] | [INFO] [stdout] 90 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L06_string/mod.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 93 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L06_string/mod.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L06_string/mod.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L06_string/mod.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 128 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/L06_string/mod.rs:279:8 [INFO] [stdout] | [INFO] [stdout] 279 | pub fn run(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `preprocess` is never used [INFO] [stdout] --> src/L06_string/mod.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn preprocess(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L06_string/mod.rs:365:8 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn square<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn p_lam_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn p_pi_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:214:4 [INFO] [stdout] | [INFO] [stdout] 214 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_def` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn p_def<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_print` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn p_print<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_decl` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:244:4 [INFO] [stdout] | [INFO] [stdout] 244 | fn p_decl<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const KEYWORD: [(&str, TokenKind); 4] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const OP: [(&str, TokenKind); 15] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn string(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Decl` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Decl { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L06_string/elaboration.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 10 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L06_string/cxt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `names`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L06_string/cxt.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn names(&self) -> List { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L06_string/unification.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L06_string/unification.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L06_string/unification.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L06_string/unification.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L06_string/unification.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 49 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 387 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 427 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const ATP: i32 = 3; // atomp [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APPP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const APPP: i32 = 2; // appp [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const PIP: i32 = 1; // pip [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LETP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LETP: i32 = 0; // letp [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bracket` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn bracket(s: String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn paren(f: String) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fresh` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn fresh(ns: List, suggested: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `go_ix` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn go_ix(ns: List, ix: u32) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `go_app_pruning` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pretty_tm` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn pretty_tm(prec: i32, ns: List, tm: &Tm) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 - Solved(Val, VTy), [INFO] [stdout] 23 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:710:8 [INFO] [stdout] | [INFO] [stdout] 710 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 26 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 26 ~ (), [INFO] [stdout] 27 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Unreachable(Raw), [INFO] [stdout] 44 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unmatched(Pattern), [INFO] [stdout] 45 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07_sum_type/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Solved(Val, VTy), [INFO] [stdout] 25 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:740:8 [INFO] [stdout] | [INFO] [stdout] 740 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `subst` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Cxt { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn subst(&self, x: Val, y: Val) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07a_depend_pm/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 27 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 27 ~ (), [INFO] [stdout] 28 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unreachable(Raw), [INFO] [stdout] 45 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Unmatched(Pattern), [INFO] [stdout] 46 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `subst`, `subst_spine`, and `subst_tm` are never used [INFO] [stdout] --> src/L07a_depend_pm/subst.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn subst(&self, cxt: &Cxt, v: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn subst_spine(&self, cxt: &Cxt, spine: Spine) -> Spine { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn subst_tm(&self, cxt: &Cxt, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeclTm` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:51:10 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:76:6 [INFO] [stdout] | [INFO] [stdout] 76 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:96:6 [INFO] [stdout] | [INFO] [stdout] 96 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:108:6 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:129:6 [INFO] [stdout] | [INFO] [stdout] 129 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L08_product_type/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 131 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 132 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:157:4 [INFO] [stdout] | [INFO] [stdout] 157 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L08_product_type/mod.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L08_product_type/mod.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 174 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 175 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 416 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:445:8 [INFO] [stdout] | [INFO] [stdout] 445 | pub fn run(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:605:8 [INFO] [stdout] | [INFO] [stdout] 605 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L08_product_type/cxt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `bind`, `fake_bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L08_product_type/elaboration.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 15 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parser(input: &str, id: u32) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn square<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom1` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn p_atom1<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn p_lam_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_impl_binder` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:161:4 [INFO] [stdout] | [INFO] [stdout] 161 | fn p_pi_impl_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_expl_binder` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn p_pi_expl_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn p_pi_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:214:4 [INFO] [stdout] | [INFO] [stdout] 214 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:228:4 [INFO] [stdout] | [INFO] [stdout] 228 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pattern` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:249:4 [INFO] [stdout] | [INFO] [stdout] 249 | fn p_pattern<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Pattern)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_match` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn p_match<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_new` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:275:4 [INFO] [stdout] | [INFO] [stdout] 275 | fn p_new<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:288:4 [INFO] [stdout] | [INFO] [stdout] 288 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_def` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:298:4 [INFO] [stdout] | [INFO] [stdout] 298 | fn p_def<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_print` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn p_print<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_enum` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn p_enum<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_struct` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn p_struct<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_decl` is never used [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:376:4 [INFO] [stdout] | [INFO] [stdout] 376 | fn p_decl<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const KEYWORD: [(&str, TokenKind); 9] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | const OP: [(&str, TokenKind); 15] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn string(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Pattern` is never used [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Pattern { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Decl` is never used [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:46:10 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Decl { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Var` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MatchBody` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type MatchBody = (Tm, usize); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TypeName` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type TypeName = Span; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Constructor` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type Constructor = Span; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DecisionTree` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum DecisionTree { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 33 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Warning` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum Warning { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 56 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn fresh(&mut self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn fill_context(ctx: &MatchContext, pat: &Pattern) -> Pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn next_hole(&self, ctx: &MatchContext, pat: &Pattern) -> MatchContext { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn compile_aux( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn compile( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn eval_aux( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchContext` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:420:6 [INFO] [stdout] | [INFO] [stdout] 420 | enum MatchContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatchArm` is never constructed [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 431 | struct MatchArm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L08_product_type/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L08_product_type/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L08_product_type/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L08_product_type/unification.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L08_product_type/unification.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L08_product_type/unification.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L08_product_type/unification.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L08_product_type/unification.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 49 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | fn unify_sp( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 422 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeclTm` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:51:10 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:157:6 [INFO] [stdout] | [INFO] [stdout] 157 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:176:6 [INFO] [stdout] | [INFO] [stdout] 176 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:177:6 [INFO] [stdout] | [INFO] [stdout] 177 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:189:6 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:210:6 [INFO] [stdout] | [INFO] [stdout] 210 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L09_mltt/mod.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 212 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 213 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:222:4 [INFO] [stdout] | [INFO] [stdout] 222 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:236:8 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L09_mltt/mod.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L09_mltt/mod.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 256 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 502 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:527:8 [INFO] [stdout] | [INFO] [stdout] 527 | pub fn run(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:775:8 [INFO] [stdout] | [INFO] [stdout] 775 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L09_mltt/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L09_mltt/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L09_mltt/cxt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `bind`, `fake_bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L09_mltt/cxt.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L09_mltt/elaboration.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 15 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn check_universe(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, u32), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parser(input: &str, id: u32) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn square<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom1` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn p_atom1<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn p_lam_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_impl_binder` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:161:4 [INFO] [stdout] | [INFO] [stdout] 161 | fn p_pi_impl_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_expl_binder` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn p_pi_expl_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn p_pi_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:214:4 [INFO] [stdout] | [INFO] [stdout] 214 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:228:4 [INFO] [stdout] | [INFO] [stdout] 228 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pattern` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:249:4 [INFO] [stdout] | [INFO] [stdout] 249 | fn p_pattern<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Pattern)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_match` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn p_match<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_new` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:275:4 [INFO] [stdout] | [INFO] [stdout] 275 | fn p_new<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:288:4 [INFO] [stdout] | [INFO] [stdout] 288 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_def` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:298:4 [INFO] [stdout] | [INFO] [stdout] 298 | fn p_def<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_print` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn p_print<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_enum` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn p_enum<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_struct` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn p_struct<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_decl` is never used [INFO] [stdout] --> src/L09_mltt/parser/mod.rs:376:4 [INFO] [stdout] | [INFO] [stdout] 376 | fn p_decl<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const KEYWORD: [(&str, TokenKind); 9] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | const OP: [(&str, TokenKind); 15] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn string(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Pattern` is never used [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Pattern { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Decl` is never used [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:46:10 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Decl { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Var` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MatchBody` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type MatchBody = (Tm, usize); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TypeName` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type TypeName = Span; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Constructor` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type Constructor = Span; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DecisionTree` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum DecisionTree { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 33 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Warning` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum Warning { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 56 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn fresh(&mut self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn fill_context(ctx: &MatchContext, pat: &Pattern) -> Pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn next_hole(&self, ctx: &MatchContext, pat: &Pattern) -> MatchContext { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn compile_aux( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn compile( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn eval_aux( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchContext` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:420:6 [INFO] [stdout] | [INFO] [stdout] 420 | enum MatchContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatchArm` is never constructed [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 431 | struct MatchArm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L09_mltt/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L09_mltt/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L09_mltt/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L09_mltt/unification.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L09_mltt/unification.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L09_mltt/unification.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L09_mltt/unification.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L09_mltt/unification.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 49 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | fn unify_sp( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 422 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L01_eval` should have a snake case name [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod L01_eval; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l01_eval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L02_tyck` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod L02_tyck; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l02_tyck` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L03_holes` should have a snake case name [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mod L03_holes; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `l03_holes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L04_implicit` should have a snake case name [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mod L04_implicit; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `l04_implicit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L05_pruning` should have a snake case name [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | mod L05_pruning; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `l05_pruning` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L06_string` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod L06_string; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `l06_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L07_sum_type` should have a snake case name [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | mod L07_sum_type; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `l07_sum_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L07a_depend_pm` should have a snake case name [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | mod L07a_depend_pm; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l07a_depend_pm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L08_product_type` should have a snake case name [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | mod L08_product_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l08_product_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L09_mltt` should have a snake case name [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | mod L09_mltt; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l09_mltt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:394:39 [INFO] [stdout] | [INFO] [stdout] 394 | Pattern::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:327:37 [INFO] [stdout] | [INFO] [stdout] 327 | 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/L08_product_type/unification.rs:340:37 [INFO] [stdout] | [INFO] [stdout] 340 | 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/L08_product_type/unification.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L08_product_type/unification.rs:495:43 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L09_mltt/cxt.rs:108:46 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | 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: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:416:22 [INFO] [stdout] | [INFO] [stdout] 416 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [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:416:42 [INFO] [stdout] | [INFO] [stdout] 416 | Raw::Lam(x, Either::Name(_), t) => Err(Error("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: `item_pats` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:208:60 [INFO] [stdout] | [INFO] [stdout] 208 | ... [Pattern::Con(constr_, item_pats), ..] [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item_pats` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:394:39 [INFO] [stdout] | [INFO] [stdout] 394 | Pattern::Con(constr_, item_pats) if !constrs_name.contains(&constr_) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [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:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:327:37 [INFO] [stdout] | [INFO] [stdout] 327 | 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:340:37 [INFO] [stdout] | [INFO] [stdout] 340 | 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/unification.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_prime` [INFO] [stdout] --> src/L09_mltt/unification.rs:495:43 [INFO] [stdout] | [INFO] [stdout] 495 | (Val::Pi(x, i, a, b), Val::Pi(x_prime, i_prime, a_prime, b_prime)) if i == i_prime => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list` [INFO] [stdout] --> src/L09_mltt/mod.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | Tm::AppPruning(tm, list) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [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::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` 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:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` 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:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::env` [INFO] [stdout] --> src/L04_implicit/cxt.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::cxt::Cxt::lvl` [INFO] [stdout] --> src/L04_implicit/cxt.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub lvl: Lvl, // Used for unification [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::lvl` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::types` [INFO] [stdout] --> src/L04_implicit/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub types: Types, // Used for raw name lookup and pretty printing [INFO] [stdout] | ^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::BD` is more private than the item `L04_implicit::cxt::Cxt::bds` [INFO] [stdout] --> src/L04_implicit/cxt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub bds: List, // Used for fresh meta creation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::bds` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::BD` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::bind` [INFO] [stdout] --> src/L04_implicit/cxt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L04_implicit/cxt.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::define` [INFO] [stdout] --> src/L04_implicit/cxt.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::UnifyError` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::env` [INFO] [stdout] --> src/L05_pruning/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::src_names` [INFO] [stdout] --> src/L05_pruning/cxt.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub src_names: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L05_pruning/cxt.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::new_binder` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` 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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::UnifyError` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::3` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L05_pruning::syntax::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:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | 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:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [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:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer` [INFO] [stdout] --> src/L06_string/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: 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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::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:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::UnifyError` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::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:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | 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:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | 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:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, 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:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::UnifyError` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:171:1 [INFO] [stdout] | [INFO] [stdout] 171 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07a_depend_pm::UnifyError` is more private than the item `L07a_depend_pm::unification::::unify` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:496:5 [INFO] [stdout] | [INFO] [stdout] 496 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07a_depend_pm::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07a_depend_pm::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Ix` is more private than the item `L08_product_type::Tm::Var::0` [INFO] [stdout] --> src/L08_product_type/mod.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Var(Ix), [INFO] [stdout] | ^^ field `L08_product_type::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::MetaVar` is more private than the item `L08_product_type::Tm::Meta::0` [INFO] [stdout] --> src/L08_product_type/mod.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L08_product_type::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::Infer::nf` [INFO] [stdout] --> src/L08_product_type/mod.rs:416:5 [INFO] [stdout] | [INFO] [stdout] 416 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::env` [INFO] [stdout] --> src/L08_product_type/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L08_product_type::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::src_names` [INFO] [stdout] --> src/L08_product_type/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L08_product_type::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::bind` [INFO] [stdout] --> src/L08_product_type/cxt.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L08_product_type/cxt.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::cxt::Cxt::define` [INFO] [stdout] --> src/L08_product_type/cxt.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::check` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::infer` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::elaboration::::infer_expr` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:287:5 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::Val` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::UnifyError` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Ix` is more private than the item `L09_mltt::Tm::Var::0` [INFO] [stdout] --> src/L09_mltt/mod.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Var(Ix), [INFO] [stdout] | ^^ field `L09_mltt::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::MetaVar` is more private than the item `L09_mltt::Tm::Meta::0` [INFO] [stdout] --> src/L09_mltt/mod.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L09_mltt::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::Infer::nf` [INFO] [stdout] --> src/L09_mltt/mod.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::env` [INFO] [stdout] --> src/L09_mltt/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L09_mltt::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::src_names` [INFO] [stdout] --> src/L09_mltt/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L09_mltt::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::bind` [INFO] [stdout] --> src/L09_mltt/cxt.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L09_mltt/cxt.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::cxt::Cxt::define` [INFO] [stdout] --> src/L09_mltt/cxt.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::check` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::infer` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::elaboration::::infer_expr` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:356:5 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::MetaVar` is more private than the item `L09_mltt::unification::PartialRenaming::occ` [INFO] [stdout] --> src/L09_mltt/unification.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub occ: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `L09_mltt::unification::PartialRenaming::occ` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::lams` [INFO] [stdout] --> src/L09_mltt/unification.rs:354:5 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::lams` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::Val` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:488:5 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::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:236:1 [INFO] [stdout] | [INFO] [stdout] 236 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser_lib.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Span { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn contains(&self, offset: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn diagnostic>(&self, severity: Severity, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn error>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn warning>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn info>(&self, msg: U) -> Diagnostic { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn note>(&self, msg: U) -> (PathId, u32, u32, String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Severity` is never used [INFO] [stdout] --> src/parser_lib.rs:105:10 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum Severity { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Diagnostic` is never constructed [INFO] [stdout] --> src/parser_lib.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_note` is never used [INFO] [stdout] --> src/parser_lib.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl Diagnostic { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 121 | pub fn with_note(mut self, note: (PathId, u32, u32, String)) -> Diagnostic { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:276:10 [INFO] [stdout] | [INFO] [stdout] 276 | pub enum Maybe { [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:293:12 [INFO] [stdout] | [INFO] [stdout] 292 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 293 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn unwrap_or_else(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:323:12 [INFO] [stdout] | [INFO] [stdout] 322 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 323 | pub fn raise_err(self, err: &mut Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn maybe<'a: 'b, 'b, T, P, N: 'a + Copy, E: Copy>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib.rs:403:11 [INFO] [stdout] | [INFO] [stdout] 403 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L01_eval/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:93:6 [INFO] [stdout] | [INFO] [stdout] 93 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L03_holes/mod.rs:144:18 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nf` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl Infer { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L03_holes/parser/lex.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L04_implicit/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Let(Span, Box, Box, Box), [INFO] [stdout] | --- ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Tm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 38 - Let(Span, Box, Box, Box), [INFO] [stdout] 38 + Let((), (), Box, Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L04_implicit/mod.rs:101:18 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nf` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Infer { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L05_pruning/mod.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 20 - Solved(Val, VTy), [INFO] [stdout] 20 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L05_pruning/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | Let(Span, Box, Box, Box), [INFO] [stdout] | --- ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Tm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 41 - Let(Span, Box, Box, Box), [INFO] [stdout] 41 + Let((), (), Box, Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L05_pruning/mod.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nf` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl Infer { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L06_string/mod.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 21 - Solved(Val, VTy), [INFO] [stdout] 21 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L06_string/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L06_string/mod.rs:121:18 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L06_string/parser/lex.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 - Solved(Val, VTy), [INFO] [stdout] 23 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 26 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 26 ~ (), [INFO] [stdout] 27 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Unreachable(Raw), [INFO] [stdout] 44 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unmatched(Pattern), [INFO] [stdout] 45 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07_sum_type/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Solved(Val, VTy), [INFO] [stdout] 25 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `subst` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Cxt { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn subst(&self, x: Val, y: Val) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07a_depend_pm/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 27 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 27 ~ (), [INFO] [stdout] 28 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unreachable(Raw), [INFO] [stdout] 45 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Unmatched(Pattern), [INFO] [stdout] 46 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `subst`, `subst_spine`, and `subst_tm` are never used [INFO] [stdout] --> src/L07a_depend_pm/subst.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn subst(&self, cxt: &Cxt, v: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn subst_spine(&self, cxt: &Cxt, spine: Spine) -> Spine { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn subst_tm(&self, cxt: &Cxt, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L08_product_type/mod.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 22 - Solved(Val, VTy), [INFO] [stdout] 22 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L08_product_type/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | Let(Span, Box, Box, Box), [INFO] [stdout] | --- ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Tm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 59 - Let(Span, Box, Box, Box), [INFO] [stdout] 59 + Let((), (), Box, Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/mod.rs:167:18 [INFO] [stdout] | [INFO] [stdout] 167 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 26 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 26 ~ (), [INFO] [stdout] 27 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Unreachable(Raw), [INFO] [stdout] 44 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unmatched(Pattern), [INFO] [stdout] 45 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L09_mltt/mod.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 22 - Solved(Val, VTy), [INFO] [stdout] 22 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/mod.rs:248:18 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L09_mltt/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L09_mltt/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 26 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 26 ~ (), [INFO] [stdout] 27 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Unreachable(Raw), [INFO] [stdout] 44 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unmatched(Pattern), [INFO] [stdout] 45 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L01_eval` should have a snake case name [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod L01_eval; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l01_eval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L02_tyck` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod L02_tyck; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l02_tyck` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L03_holes` should have a snake case name [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mod L03_holes; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `l03_holes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L04_implicit` should have a snake case name [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mod L04_implicit; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `l04_implicit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L05_pruning` should have a snake case name [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | mod L05_pruning; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `l05_pruning` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L06_string` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod L06_string; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `l06_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L07_sum_type` should have a snake case name [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | mod L07_sum_type; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `l07_sum_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L07a_depend_pm` should have a snake case name [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | mod L07a_depend_pm; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l07a_depend_pm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L08_product_type` should have a snake case name [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | mod L08_product_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l08_product_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L09_mltt` should have a snake case name [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | mod L09_mltt; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l09_mltt` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.36s [INFO] running `Command { std: "docker" "inspect" "e43aa271d0caac53b12e2e2a911cb2edcdbcb1b5ba9f6e3b62bb073d61d17bdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e43aa271d0caac53b12e2e2a911cb2edcdbcb1b5ba9f6e3b62bb073d61d17bdd", kill_on_drop: false }` [INFO] [stdout] e43aa271d0caac53b12e2e2a911cb2edcdbcb1b5ba9f6e3b62bb073d61d17bdd