[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] d0437b380542d2235f6682854f23bdfdd663f781 [INFO] checking yportne13/elaboration-zoo-lsp against master#a932eb36f8adf6c8cdfc450f063943da3112d621 for pr-140209-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yportne13/elaboration-zoo-lsp on toolchain a932eb36f8adf6c8cdfc450f063943da3112d621 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a932eb36f8adf6c8cdfc450f063943da3112d621" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-7-tc1/source/Cargo.toml [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" "+a932eb36f8adf6c8cdfc450f063943da3112d621" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lsp-server v0.7.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+a932eb36f8adf6c8cdfc450f063943da3112d621" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3f779cad84e860cbda64e562f8636dcc87a8f3d5e2e02682c677fd905485ee76 [INFO] running `Command { std: "docker" "start" "-a" "3f779cad84e860cbda64e562f8636dcc87a8f3d5e2e02682c677fd905485ee76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3f779cad84e860cbda64e562f8636dcc87a8f3d5e2e02682c677fd905485ee76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f779cad84e860cbda64e562f8636dcc87a8f3d5e2e02682c677fd905485ee76", kill_on_drop: false }` [INFO] [stdout] 3f779cad84e860cbda64e562f8636dcc87a8f3d5e2e02682c677fd905485ee76 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+a932eb36f8adf6c8cdfc450f063943da3112d621" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0777a073ce42bb6c54d2e3f9297b3e2b1f7ff23fb2ebd942a026d368d70f6d91 [INFO] running `Command { std: "docker" "start" "-a" "0777a073ce42bb6c54d2e3f9297b3e2b1f7ff23fb2ebd942a026d368d70f6d91", 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 write16 v1.0.0 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking crossbeam-channel v0.5.14 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking 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 imports: `Either` and `Raw` [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: `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/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::pattern_match::Compiler}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | 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/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:62 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::Cxt, lvl2ix, parser::syntax::Icit, syntax::Pruning, Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val [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 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 imports: `Either` and `Raw` [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: `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/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::pattern_match::Compiler}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | 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/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:62 [INFO] [stdout] | [INFO] [stdout] 6 | cxt::Cxt, lvl2ix, parser::syntax::Icit, syntax::Pruning, Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val [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: `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: `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: `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: `x` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | 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:263:42 [INFO] [stdout] | [INFO] [stdout] 263 | 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: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | 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/unification.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | (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:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | (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:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | (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/L07_sum_type/unification.rs:290:37 [INFO] [stdout] | [INFO] [stdout] 290 | 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:303:37 [INFO] [stdout] | [INFO] [stdout] 303 | 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/L07_sum_type/unification.rs:446:22 [INFO] [stdout] | [INFO] [stdout] 446 | (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/L07_sum_type/unification.rs:446:43 [INFO] [stdout] | [INFO] [stdout] 446 | (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/L07_sum_type/elaboration.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | 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:263:42 [INFO] [stdout] | [INFO] [stdout] 263 | 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/L07_sum_type/pattern_match.rs:179:60 [INFO] [stdout] | [INFO] [stdout] 179 | ... [Pattern::Con(constr_, item_pats), ..] if !constrs_name.contains(&constr_.data) => { [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:326:32 [INFO] [stdout] | [INFO] [stdout] 326 | Val::SumCase { sum_name, case_name, params, cases_name} => (case_name, params, cases_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:334:43 [INFO] [stdout] | [INFO] [stdout] 334 | 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: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | 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/unification.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | (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:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | (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:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | (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/L07_sum_type/unification.rs:290:37 [INFO] [stdout] | [INFO] [stdout] 290 | 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:303:37 [INFO] [stdout] | [INFO] [stdout] 303 | 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/L07_sum_type/unification.rs:446:22 [INFO] [stdout] | [INFO] [stdout] 446 | (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/L07_sum_type/unification.rs:446:43 [INFO] [stdout] | [INFO] [stdout] 446 | (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: `item_pats` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:179:60 [INFO] [stdout] | [INFO] [stdout] 179 | ... [Pattern::Con(constr_, item_pats), ..] if !constrs_name.contains(&constr_.data) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_pats` [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] = note: `#[warn(private_interfaces)]` on by default [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 `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] [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 `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 `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 `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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::check` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::infer` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::infer_expr` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::env` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L07_sum_type::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::src_names` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L07_sum_type::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::bind` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::define` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | 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::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [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:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | 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:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Ix` is more private than the item `L07_sum_type::Tm::Var::0` [INFO] [stdout] --> src/L07_sum_type/mod.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Var(Ix), [INFO] [stdout] | ^^ field `L07_sum_type::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::MetaVar` is more private than the item `L07_sum_type::Tm::Meta::0` [INFO] [stdout] --> src/L07_sum_type/mod.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L07_sum_type::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::Tm::Sum::2` [INFO] [stdout] --> src/L07_sum_type/mod.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | Sum(Span, Vec, Vec<(Span, Vec)>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L07_sum_type::Tm::Sum::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::Infer::nf` [INFO] [stdout] --> src/L07_sum_type/mod.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:326:32 [INFO] [stdout] | [INFO] [stdout] 326 | Val::SumCase { sum_name, case_name, params, cases_name} => (case_name, params, cases_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:334:43 [INFO] [stdout] | [INFO] [stdout] 334 | 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: 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] = note: `Severity` 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: 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] = note: `Diagnostic` 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: 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: variants `Some` and `Hole` are never constructed [INFO] [stdout] --> src/parser_lib.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 276 | pub enum Maybe { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 277 | Some(T), [INFO] [stdout] | ^^^^ [INFO] [stdout] 278 | Hole(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Maybe` 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: 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: 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L05_pruning/cxt.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 8 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: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/L06_string/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/L06_string/mod.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | 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] 52 - Let(Span, Box, Box, Box), [INFO] [stdout] 52 + Let((), (), Box, Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L06_string/mod.rs:120:18 [INFO] [stdout] | [INFO] [stdout] 120 | 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L06_string/cxt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: field `1` is never read [INFO] [stdout] --> src/L07_sum_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/L07_sum_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/L07_sum_type/mod.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | 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] 57 - Let(Span, Box, Box, Box), [INFO] [stdout] 57 + Let((), (), Box, Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:140:18 [INFO] [stdout] | [INFO] [stdout] 140 | 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: variant `Eof` is never constructed [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L07_sum_type/cxt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: fields `0` and `1` are never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 18 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 19 | 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] 18 ~ (), [INFO] [stdout] 19 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | 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] 39 - Unreachable(Raw), [INFO] [stdout] 39 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | 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] 40 - Unmatched(Pattern), [INFO] [stdout] 40 + 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: 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] = note: `#[warn(private_interfaces)]` on by default [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 `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] [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 `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 `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 `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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | 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:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | 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:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | 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:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | 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:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::check` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::check` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::infer` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::elaboration::::infer_expr` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::env` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L07_sum_type::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::src_names` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L07_sum_type::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::bind` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::fake_bind` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::fake_bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::cxt::Cxt::define` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | 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::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [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:440:5 [INFO] [stdout] | [INFO] [stdout] 440 | 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:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Ix` is more private than the item `L07_sum_type::Tm::Var::0` [INFO] [stdout] --> src/L07_sum_type/mod.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Var(Ix), [INFO] [stdout] | ^^ field `L07_sum_type::Tm::Var::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Ix` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | struct Ix(u32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::MetaVar` is more private than the item `L07_sum_type::Tm::Meta::0` [INFO] [stdout] --> src/L07_sum_type/mod.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | Meta(MetaVar), [INFO] [stdout] | ^^^^^^^ field `L07_sum_type::Tm::Meta::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::MetaVar` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::Tm::Sum::2` [INFO] [stdout] --> src/L07_sum_type/mod.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | Sum(Span, Vec, Vec<(Span, Vec)>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L07_sum_type::Tm::Sum::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::Val` is more private than the item `L07_sum_type::Infer::nf` [INFO] [stdout] --> src/L07_sum_type/mod.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser_lib.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Span { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 30 | pub fn map(self, f: impl Fn(T) -> U) -> Span { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn len(&self) -> u32 { [INFO] [stdout] | ^^^ [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] = note: `Severity` 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: 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] = note: `Diagnostic` 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: 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: methods `with`, `or`, `map`, `option`, `many0_sep`, and `many1_sep` are never used [INFO] [stdout] --> src/parser_lib.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait Parser: Sized + Copy { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 128 | fn parse(&self, input: I) -> Option<(I, A)>; [INFO] [stdout] 129 | fn with(self, rhs: P) -> impl Parser [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn or

(self, rhs: P) -> impl Parser [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 146 | fn map(self, f: F) -> impl Parser [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn option(self) -> impl Parser> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn many0_sep(self, sep: P) -> impl Parser> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn many1_sep(self, sep: P) -> impl Parser> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Input` is never used [INFO] [stdout] --> src/parser_lib.rs:273:10 [INFO] [stdout] | [INFO] [stdout] 273 | pub type Input<'a> = Span<&'a str>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Some` and `Hole` are never constructed [INFO] [stdout] --> src/parser_lib.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 276 | pub enum Maybe { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 277 | Some(T), [INFO] [stdout] | ^^^^ [INFO] [stdout] 278 | Hole(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Maybe` 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: 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: function `pmatch` is never used [INFO] [stdout] --> src/parser_lib.rs:358:8 [INFO] [stdout] | [INFO] [stdout] 358 | pub fn pmatch<'a, P: Pattern + Copy>(pat: P) -> impl Parser, Span<&'a str>> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is` is never used [INFO] [stdout] --> src/parser_lib.rs:382:8 [INFO] [stdout] | [INFO] [stdout] 382 | pub fn is<'a, P: Pattern + Copy>(pat: P) -> impl Parser, Span<&'a str>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `prepend`, `head`, `tail`, and `map` are never used [INFO] [stdout] --> src/list.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn prepend(&self, elem: T) -> List { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn head(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn tail(&self) -> List { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn map(&self, f: F) -> List [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/L01_eval/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | DefKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | ValKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | VarKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 8 | IfKeyword, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 9 | ElseKeyword, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | TrueKeyword, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | FalseKeyword, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | ForKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | WhileKeyword, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | ReturnKeyword, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 15 | MatchKeyword, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | CaseKeyword, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 17 | [INFO] [stdout] 18 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | LSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | RSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 22 | LCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 23 | RCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 27 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | DoubleArrow, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | Plus, [INFO] [stdout] | ^^^^ [INFO] [stdout] 32 | Minus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | Slash, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 35 | At, [INFO] [stdout] | ^^ [INFO] [stdout] 36 | [INFO] [stdout] 37 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 40 | EndLine, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | [INFO] [stdout] 43 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 44 | [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 `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: multiple variants are never constructed [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | UKeyword,//Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | [INFO] [stdout] 8 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 11 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | [INFO] [stdout] 16 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | [INFO] [stdout] 21 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 22 | [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 `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: 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] = 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 `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] = note: `Raw` 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: 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: multiple variants are never constructed [INFO] [stdout] --> src/L03_holes/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | UKeyword, //Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | [INFO] [stdout] 8 | Hole, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 12 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 13 | /// ; [INFO] [stdout] 14 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | /// : [INFO] [stdout] 16 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 17 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | [INFO] [stdout] 20 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 23 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | [INFO] [stdout] 25 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | [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: 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: 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] = 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: 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: multiple variants are never constructed [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | UKeyword, //Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | [INFO] [stdout] 8 | Hole, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | LCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | RCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 15 | /// ; [INFO] [stdout] 16 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | /// : [INFO] [stdout] 18 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 21 | [INFO] [stdout] 22 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | [INFO] [stdout] 27 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | [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: 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: variants `Impl` and `Expl` are never constructed [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Impl, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Expl, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Icit` 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: variants `Name` and `Icit` are never constructed [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 12 | Name(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Icit(Icit), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Either` 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 `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] = note: `Raw` 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: 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L04_implicit/cxt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 6 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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] = note: `Cxt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [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: 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] = 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: 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: multiple variants are never constructed [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | UKeyword, //Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | [INFO] [stdout] 8 | Hole, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | LCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | RCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 15 | /// ; [INFO] [stdout] 16 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 17 | /// : [INFO] [stdout] 18 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 21 | [INFO] [stdout] 22 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | [INFO] [stdout] 27 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | [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: 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: variants `Impl` and `Expl` are never constructed [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Impl, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Expl, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Icit` 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: variants `Name` and `Icit` are never constructed [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 12 | Name(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Icit(Icit), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Either` 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 `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] = note: `Raw` 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: 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L05_pruning/cxt.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 8 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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] = note: `Cxt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [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] = note: `Locals` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `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: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/L06_string/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/L06_string/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/L06_string/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeclTm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeclTm` 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 `Tm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 45 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L06_string/mod.rs:59:6 [INFO] [stdout] | [INFO] [stdout] 59 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L06_string/mod.rs:71:6 [INFO] [stdout] | [INFO] [stdout] 71 | 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:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | 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:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | 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:78:6 [INFO] [stdout] | [INFO] [stdout] 78 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L06_string/mod.rs:89:6 [INFO] [stdout] | [INFO] [stdout] 89 | 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:92:8 [INFO] [stdout] | [INFO] [stdout] 91 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 92 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | 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:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | 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:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L06_string/mod.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | 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:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [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: struct `Infer` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | 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:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 127 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | 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:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | 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/L06_string/mod.rs:337:8 [INFO] [stdout] | [INFO] [stdout] 337 | 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: multiple variants are never constructed [INFO] [stdout] --> src/L06_string/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | DefKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | PrintlnKeyword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 8 | UKeyword, //Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | [INFO] [stdout] 10 | Hole, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | LSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | RSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | LCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | RCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | /// ; [INFO] [stdout] 20 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | /// : [INFO] [stdout] 22 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | DoubleArrow, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 26 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 27 | [INFO] [stdout] 28 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 32 | [INFO] [stdout] 33 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 34 | [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: 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: variants `Impl` and `Expl` are never constructed [INFO] [stdout] --> src/L06_string/parser/syntax.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Impl, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Expl, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Icit` 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: variants `Name` and `Icit` are never constructed [INFO] [stdout] --> src/L06_string/parser/syntax.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 12 | Name(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Icit(Icit), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Either` 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 `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] = note: `Raw` 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 `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] = note: `Decl` 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: 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: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L06_string/cxt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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] = note: `Cxt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `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 bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | 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] = note: `Locals` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `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: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L07_sum_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/L07_sum_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/L07_sum_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/L07_sum_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/L07_sum_type/mod.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeclTm` 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 `Tm` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum Tm { [INFO] [stdout] | ^^ [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] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:84:6 [INFO] [stdout] | [INFO] [stdout] 84 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L07_sum_type/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:91:6 [INFO] [stdout] | [INFO] [stdout] 91 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:109:6 [INFO] [stdout] | [INFO] [stdout] 109 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 112 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L07_sum_type/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L07_sum_type/mod.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [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: struct `Infer` is never constructed [INFO] [stdout] --> src/L07_sum_type/mod.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 146 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 147 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | 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/L07_sum_type/mod.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | 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/L07_sum_type/mod.rs:461:8 [INFO] [stdout] | [INFO] [stdout] 461 | 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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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/L07_sum_type/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_impl_binder` is never used [INFO] [stdout] --> src/L07_sum_type/parser/mod.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn p_pi_impl_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L07_sum_type/parser/mod.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | 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/L07_sum_type/parser/mod.rs:168:4 [INFO] [stdout] | [INFO] [stdout] 168 | 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/L07_sum_type/parser/mod.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | 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/L07_sum_type/parser/mod.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | 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/L07_sum_type/parser/mod.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | 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/L07_sum_type/parser/mod.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | 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_raw` is never used [INFO] [stdout] --> src/L07_sum_type/parser/mod.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | 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/L07_sum_type/parser/mod.rs:247:4 [INFO] [stdout] | [INFO] [stdout] 247 | 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/L07_sum_type/parser/mod.rs:268:4 [INFO] [stdout] | [INFO] [stdout] 268 | 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/L07_sum_type/parser/mod.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | 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_decl` is never used [INFO] [stdout] --> src/L07_sum_type/parser/mod.rs:292:4 [INFO] [stdout] | [INFO] [stdout] 292 | fn p_decl<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 5 | DefKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | LetKeyword, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | PrintlnKeyword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 8 | EnumKeyword, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | UKeyword, //Universe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | MatchKeyword, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 11 | CaseKeyword, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | [INFO] [stdout] 13 | Hole, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | LParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | RParen, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | LSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | RSquare, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 18 | LCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 19 | RCurly, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | Eq, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | /// ; [INFO] [stdout] 23 | Semi, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | /// : [INFO] [stdout] 25 | Colon, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 26 | Arrow, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 27 | DoubleArrow, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | Lambda, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 29 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | [INFO] [stdout] 31 | Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | Num, [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | Op, [INFO] [stdout] | ^^ [INFO] [stdout] 34 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] 35 | [INFO] [stdout] 36 | EndLine, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | [INFO] [stdout] 38 | ErrToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 39 | [INFO] [stdout] 40 | 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 `Token` is never used [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | 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/L07_sum_type/parser/lex.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const KEYWORD: [(&str, TokenKind); 7] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const OP: [(&str, TokenKind); 15] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | 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/L07_sum_type/parser/lex.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | 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/L07_sum_type/parser/lex.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | 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/L07_sum_type/parser/lex.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | 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/L07_sum_type/parser/lex.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | 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/L07_sum_type/parser/lex.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Impl` and `Expl` are never constructed [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 6 | Impl, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | Expl, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Icit` 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: variants `Name` and `Icit` are never constructed [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 12 | Name(Span), [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | Icit(Icit), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Either` 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 `Pattern` is never used [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Pattern { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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 `Raw` is never used [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Raw` 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 `Decl` is never used [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum Decl { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Decl` 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: multiple methods are never used [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 12 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Inserted` and `Source` are never constructed [INFO] [stdout] --> src/L07_sum_type/cxt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Inserted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | Source, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameOrigin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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: struct `Cxt` is never constructed [INFO] [stdout] --> src/L07_sum_type/cxt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cxt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `bind`, `fake_bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L07_sum_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] 41 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | 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/L07_sum_type/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/L07_sum_type/unification.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L07_sum_type/unification.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L07_sum_type/unification.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 41 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L07_sum_type/unification.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 47 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 48 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn unify_sp(&mut self, l: Lvl, cxt: &Cxt, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 423 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L07_sum_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/L07_sum_type/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Locals` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L07_sum_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: type alias `Var` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MatchBody` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type MatchBody = (Tm, usize); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TypeName` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type TypeName = Span; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Constructor` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type Constructor = Span; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DecisionTree` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum DecisionTree { [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] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 25 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Warning` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum Warning { [INFO] [stdout] | ^^^^^^^ [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] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 51 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn fresh(&mut self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn fill_context(ctx: &MatchContext, pat: &Pattern) -> Pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn next_hole(&self, ctx: &MatchContext, pat: &Pattern) -> MatchContext { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn compile_aux( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn compile( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn eval_aux( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchContext` is never used [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:362:6 [INFO] [stdout] | [INFO] [stdout] 362 | enum MatchContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatchArm` is never constructed [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:373:8 [INFO] [stdout] | [INFO] [stdout] 373 | struct MatchArm { [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.19s [INFO] running `Command { std: "docker" "inspect" "0777a073ce42bb6c54d2e3f9297b3e2b1f7ff23fb2ebd942a026d368d70f6d91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0777a073ce42bb6c54d2e3f9297b3e2b1f7ff23fb2ebd942a026d368d70f6d91", kill_on_drop: false }` [INFO] [stdout] 0777a073ce42bb6c54d2e3f9297b3e2b1f7ff23fb2ebd942a026d368d70f6d91