[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] 074ef01b7dbbdbaea91645c2c0bd3b45c31e7cc2 [INFO] checking yportne13/elaboration-zoo-lsp against 656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-25 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyportne13%2Felaboration-zoo-lsp" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yportne13/elaboration-zoo-lsp [INFO] finished tweaking git repo https://github.com/yportne13/elaboration-zoo-lsp [INFO] tweaked toml for git repo https://github.com/yportne13/elaboration-zoo-lsp written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yportne13/elaboration-zoo-lsp on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yportne13/elaboration-zoo-lsp already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded borsh v1.6.1 [INFO] [stderr] Downloaded smol_str v0.3.2 [INFO] [stderr] Downloaded env_filter v1.0.1 [INFO] [stderr] Downloaded thousands v0.2.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.94 [INFO] [stderr] Downloaded str_stack v0.1.1 [INFO] [stderr] Downloaded lsp-server v0.7.8 [INFO] [stderr] Downloaded ar_archive_writer v0.2.0 [INFO] [stderr] Downloaded mintex v0.1.4 [INFO] [stderr] Downloaded stacker v0.1.22 [INFO] [stderr] Downloaded psm v0.1.28 [INFO] [stderr] Downloaded str_indices v0.4.4 [INFO] [stderr] Downloaded env_logger v0.11.10 [INFO] [stderr] Downloaded dhat v0.3.3 [INFO] [stderr] Downloaded smallvec v1.14.0 [INFO] [stderr] Downloaded dashmap v6.1.0 [INFO] [stderr] Downloaded oxc_index v0.36.0 [INFO] [stderr] Downloaded icu_locid_transform_data v1.5.0 [INFO] [stderr] Downloaded icu_normalizer_data v1.5.0 [INFO] [stderr] Downloaded codespan-reporting v0.13.1 [INFO] [stderr] Downloaded lsp-types v0.95.1 [INFO] [stderr] Downloaded rust-lapper v1.2.0 [INFO] [stderr] Downloaded num-format v0.4.4 [INFO] [stderr] Downloaded chumsky v0.9.3 [INFO] [stderr] Downloaded serde_json v1.0.140 [INFO] [stderr] Downloaded inferno v0.12.6 [INFO] [stderr] Downloaded ropey v1.6.1 [INFO] [stderr] Downloaded syn v2.0.100 [INFO] [stderr] Downloaded icu_properties_data v1.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18 [INFO] running `Command { std: "docker" "start" "27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27e4bd51d7b65a9a04c5946de8049200f9c0278f89a5a16091eb5d8a774e5b18" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling cc v1.2.48 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling object v0.32.2 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking anstyle v1.0.14 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Checking colorchoice v1.0.5 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking clap_lex v1.1.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Compiling stacker v0.1.22 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking str_indices v0.4.4 [INFO] [stderr] Checking log v0.4.30 [INFO] [stderr] Checking codespan-reporting v0.13.1 [INFO] [stderr] Checking ropey v1.6.1 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking rust-lapper v1.2.0 [INFO] [stderr] Checking oxc_index v0.36.0 [INFO] [stderr] Checking smol_str v0.3.2 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Compiling ar_archive_writer v0.2.0 [INFO] [stderr] Compiling psm v0.1.28 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking chumsky v0.9.3 [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 clap_derive v4.5.55 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking 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: `std::time::Duration` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::Hash`, `marker::PhantomData`, `ops::Add`, and `str::pattern::Pattern` [INFO] [stdout] --> src/parser_lib_resilient.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add, str::pattern::Pattern, hash::Hash, marker::PhantomData}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Severity` [INFO] [stdout] --> src/parser_lib_resilient.rs:3:43 [INFO] [stdout] | [INFO] [stdout] 3 | pub use crate::parser_lib::{Span, ToSpan, Severity, Diagnostic, unescape}; [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] [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:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L06_string/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/L06_string/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L06_string/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Pattern` [INFO] [stdout] --> src/L07_sum_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07_sum_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span, L07_sum_type::{parser::syntax::Pattern, pattern_match::Compiler, PatternDetail}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07_sum_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix`, `PatternDetail`, `Pattern`, and `cxt::NameOrigin` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, Lvl, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | empty_span, lvl2ix, [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{parser_lib::{Span, ToSpan}, L07a_depend_pm::{parser::syntax::Icit}}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L08_product_type/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L08_product_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L08_product_type/cxt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix`, `PatternDetail`, `Pattern`, and `cxt::NameOrigin` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, Lvl, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | empty_span, lvl2ix, [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `newKeyword` should have an upper camel case name [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | newKeyword, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `NewKeyword` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::empty_span` [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L08_product_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L09_mltt/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L09_mltt/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PatternDetail` and `Pattern` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:11:47 [INFO] [stdout] | [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, MetaEntry, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L09_mltt/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pretty::pretty_tm` and `typeclass::Typ` [INFO] [stdout] --> src/L10_typeclass/unification.rs:6:88 [INFO] [stdout] | [INFO] [stdout] 6 | Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, typeclass::Typ, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L11_macro/elaboration.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Lvl, Rc, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pretty::pretty_tm` and `typeclass::Typ` [INFO] [stdout] --> src/L11_macro/unification.rs:6:88 [INFO] [stdout] | [INFO] [stdout] 6 | Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, typeclass::Typ, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | Lvl, Rc, MetaVar, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/L12_canonical/parser/macros.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, string, p_raw, p_pi_binder, empty_span, ParserExt, kw, MacroState}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pretty::pretty_tm` [INFO] [stdout] --> src/L12_canonical/unification.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Closure`, `Ix`, `Lvl`, `MetaEntry`, `MetaVar`, `Span`, `Spine`, `Tm`, `Ty`, `VTy`, `close_ty`, and `syntax::Locals` [INFO] [stdout] --> src/L12_canonical/canonical.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Ty, Span, [INFO] [stdout] | ^^^^^^^^^ ^^ ^^^^ [INFO] [stdout] 4 | MetaVar, Tm, Lvl, Ix, List, Closure, VTy, syntax::Locals, [INFO] [stdout] | ^^^^^^^ ^^ ^^^ ^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 5 | empty_span, Raw, Either, Spine, close_ty, Icit, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrimFunc` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | Closure, Cxt, DeclTm, Error, Infer, PrimFunc, Tm, VTy, Val, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `extract_base` [INFO] [stdout] --> src/L13_namespace/parser/macros.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, ParserExt, kw, MacroSt... [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L13_namespace/parser/derive.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Assertion` and `pretty::pretty_tm` [INFO] [stdout] --> src/L13_namespace/unification.rs:9:56 [INFO] [stdout] | [INFO] [stdout] 9 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | typeclass::{Assertion, Instance}, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Closure`, `Ix`, `Lvl`, `MetaEntry`, `MetaVar`, `Span`, `Spine`, `Tm`, `Ty`, `VTy`, `close_ty`, and `syntax::Locals` [INFO] [stdout] --> src/L13_namespace/canonical.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Ty, Span, [INFO] [stdout] | ^^^^^^^^^ ^^ ^^^^ [INFO] [stdout] 4 | MetaVar, Tm, Lvl, Ix, List, Closure, VTy, syntax::Locals, [INFO] [stdout] | ^^^^^^^ ^^ ^^^ ^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 5 | empty_span, Raw, Either, Spine, close_ty, Icit, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser` [INFO] [stdout] --> src/lib.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | use L13_namespace::parser::{parser, parser_with_macros, macros::MacroRule, MacroExpansionInfo}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `self`, `stdin`, and `stdout` [INFO] [stdout] --> src/lib.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `codespan_reporting::term::emit`: Use `emit_to_write_style` instead or depending on the writer use `emit_to_io_write` or `emit_to_string` [INFO] [stdout] --> src/client.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | term::emit(&mut writer, &config, &files, cs_diag).unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::Hash`, `marker::PhantomData`, `ops::Add`, and `str::pattern::Pattern` [INFO] [stdout] --> src/parser_lib_resilient.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add, str::pattern::Pattern, hash::Hash, marker::PhantomData}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Severity` [INFO] [stdout] --> src/parser_lib_resilient.rs:3:43 [INFO] [stdout] | [INFO] [stdout] 3 | pub use crate::parser_lib::{Span, ToSpan, Severity, Diagnostic, unescape}; [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] [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:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L06_string/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/L06_string/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L06_string/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Either` and `Pattern` [INFO] [stdout] --> src/L07_sum_type/mod.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07_sum_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span, L07_sum_type::{parser::syntax::Pattern, pattern_match::Compiler, PatternDetail}}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix` and `cxt::NameOrigin` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07_sum_type/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07_sum_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/L07_sum_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix`, `PatternDetail`, `Pattern`, and `cxt::NameOrigin` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, Lvl, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | empty_span, lvl2ix, [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L07a_depend_pm/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{parser_lib::{Span, ToSpan}, L07a_depend_pm::{parser::syntax::Icit}}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L08_product_type/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L08_product_type/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L08_product_type/cxt.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ix`, `PatternDetail`, `Pattern`, and `cxt::NameOrigin` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:8:41 [INFO] [stdout] | [INFO] [stdout] 8 | Closure, Cxt, DeclTm, Error, Infer, Ix, Tm, VTy, Val, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | cxt::NameOrigin, Lvl, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | empty_span, lvl2ix, [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `newKeyword` should have an upper camel case name [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | newKeyword, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `NewKeyword` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `list::List` [INFO] [stdout] --> src/L08_product_type/parser/syntax.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{list::List, parser_lib::Span}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::empty_span` [INFO] [stdout] --> src/L08_product_type/parser/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::empty_span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L08_product_type/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Pattern` and `Raw` [INFO] [stdout] --> src/L09_mltt/mod.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use parser::syntax::{Either, Icit, Pattern, Raw}; [INFO] [stdout] | ^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DecisionTree` [INFO] [stdout] --> src/L09_mltt/mod.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use pattern_match::{Compiler, DecisionTree}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::max, collections::HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PatternDetail` and `Pattern` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:11:47 [INFO] [stdout] | [INFO] [stdout] 11 | parser::syntax::{Decl, Either, Icit, Raw, Pattern}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pattern_match::Compiler, MetaEntry, [INFO] [stdout] 13 | PatternDetail, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `pretty::pretty_tm` [INFO] [stdout] --> src/L09_mltt/unification.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | Error, Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pretty::pretty_tm` and `typeclass::Typ` [INFO] [stdout] --> src/L10_typeclass/unification.rs:6:88 [INFO] [stdout] | [INFO] [stdout] 6 | Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, typeclass::Typ, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L11_macro/elaboration.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Lvl, Rc, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `pretty::pretty_tm` and `typeclass::Typ` [INFO] [stdout] --> src/L11_macro/unification.rs:6:88 [INFO] [stdout] | [INFO] [stdout] 6 | Infer, Lvl, MetaEntry, MetaVar, Spine, Tm, UnifyError, VTy, Val, cxt::Cxt, lvl2ix, typeclass::Typ, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lvl` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | Lvl, Rc, MetaVar, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/L12_canonical/parser/macros.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, string, p_raw, p_pi_binder, empty_span, ParserExt, kw, MacroState}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pretty::pretty_tm` [INFO] [stdout] --> src/L12_canonical/unification.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, typeclass::Assertion, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Closure`, `Ix`, `Lvl`, `MetaEntry`, `MetaVar`, `Span`, `Spine`, `Tm`, `Ty`, `VTy`, `close_ty`, and `syntax::Locals` [INFO] [stdout] --> src/L12_canonical/canonical.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Ty, Span, [INFO] [stdout] | ^^^^^^^^^ ^^ ^^^^ [INFO] [stdout] 4 | MetaVar, Tm, Lvl, Ix, List, Closure, VTy, syntax::Locals, [INFO] [stdout] | ^^^^^^^ ^^ ^^^ ^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 5 | empty_span, Raw, Either, Spine, close_ty, Icit, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrimFunc` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | Closure, Cxt, DeclTm, Error, Infer, PrimFunc, Tm, VTy, Val, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `extract_base` [INFO] [stdout] --> src/L13_namespace/parser/macros.rs:5:32 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{TokenNode, IError, HashMap, ErrMsg, BaseMsg, extract_base, string, p_raw, p_pi_binder, empty_span, ParserExt, kw, MacroSt... [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToSpan` [INFO] [stdout] --> src/L13_namespace/parser/derive.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::parser_lib::{Span, ToSpan}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/unification.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Assertion` and `pretty::pretty_tm` [INFO] [stdout] --> src/L13_namespace/unification.rs:9:56 [INFO] [stdout] | [INFO] [stdout] 9 | parser::syntax::Icit, syntax::Pruning, empty_span, pretty::pretty_tm, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | typeclass::{Assertion, Instance}, Raw, Rc, Decl, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Closure`, `Ix`, `Lvl`, `MetaEntry`, `MetaVar`, `Span`, `Spine`, `Tm`, `Ty`, `VTy`, `close_ty`, and `syntax::Locals` [INFO] [stdout] --> src/L13_namespace/canonical.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | Infer, MetaEntry, Cxt, Rc, Val, UnifyError, Ty, Span, [INFO] [stdout] | ^^^^^^^^^ ^^ ^^^^ [INFO] [stdout] 4 | MetaVar, Tm, Lvl, Ix, List, Closure, VTy, syntax::Locals, [INFO] [stdout] | ^^^^^^^ ^^ ^^^ ^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 5 | empty_span, Raw, Either, Spine, close_ty, Icit, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: duplicated attribute [INFO] [stdout] --> src/L13_namespace/legacy_tests.rs:1310:1 [INFO] [stdout] | [INFO] [stdout] 1310 | #[test] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(duplicate_macro_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | /// identity_vec: 重建构造函数,非绑定变量,应通过。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | /// 直接 Vec 匹配,重建构造函数,应通过。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | /// 非索引依赖的返回类型(A),预约束的类型 sucessor,通过。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | /// 嵌套结构体,预约束类型,通过。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:140:1 [INFO] [stdout] | [INFO] [stdout] 140 | /// 不返回绑定变量,而是返回无类型依赖的值。 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | / /// 直接 Vec 匹配,返回绑定变量 xs。最简复现。 [INFO] [stdout] 158 | | /// 失败模式:expected: Vec[A](_l + 1), find: Vec[A](_l) [INFO] [stdout] 159 | | /// 原因:绑定 xs 的类型为 Vec[A] l',但返回类型被细化为 Vec[A] (succ l'),无法统一。 [INFO] [stdout] | |_------------------------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:168:1 [INFO] [stdout] | [INFO] [stdout] 168 | / /// 单层 struct,泛型 len,返回绑定变量 xs。 [INFO] [stdout] 169 | | /// 失败模式:expected: Vec[A](_l + 1), find: Vec[A](_l) [INFO] [stdout] | |_-------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | / /// 两个字段,第二个字段类型依赖第一个字段的索引细化。 [INFO] [stdout] 183 | | /// 失败模式:expected: Fin(len + 1), find: Fin(1) 或反向。 [INFO] [stdout] 184 | | /// 原因:绑定 w 的类型 Fin(succ len) 中的 len 是原始的、未经 cons/nil 细化的变量。 [INFO] [stdout] | |_----------------------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:198:1 [INFO] [stdout] | [INFO] [stdout] 198 | / /// 嵌套 struct,泛型 len,返回绑定尾部变量。 [INFO] [stdout] 199 | | /// 失败模式同 weak02。 [INFO] [stdout] | |_----------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | / /// VecHolder: Vec[A] len + Fin(succ len),递归重建。 [INFO] [stdout] 212 | | /// 失败模式:expected: Fin(_l + 2), find: Fin(_n + 1) [INFO] [stdout] 213 | | /// 原因:第一个字段匹配 cons (len:=succ l') 与第二个字段匹配 fsucc (len:=n) 的细化 [INFO] [stdout] 214 | | /// 没有传播到对方,导致 n 和 succ l' 无法统一。 [INFO] [stdout] | |_-----------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | / /// 返回值是重建结构体,使用了从内部字段提取的变量。 [INFO] [stdout] 232 | | /// 成功/失败? [INFO] [stdout] | |_--------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `assert_expected_fail` [INFO] [stdout] --> src/L13_namespace/struct_refine_probe.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | macro_rules! assert_expected_fail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser` [INFO] [stdout] --> src/lib.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | use L13_namespace::parser::{parser, parser_with_macros, macros::MacroRule, MacroExpansionInfo}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `self`, `stdin`, and `stdout` [INFO] [stdout] --> src/lib.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `codespan_reporting::term::emit`: Use `emit_to_write_style` instead or depending on the writer use `emit_to_io_write` or `emit_to_string` [INFO] [stdout] --> src/client.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | term::emit(&mut writer, &config, &files, cs_diag).unwrap(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/lib.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/lib.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser_lib_resilient.rs:22:71 [INFO] [stdout] | [INFO] [stdout] 22 | move |input, state: &mut S| self.parse(input, state).or_else(|e| rhs.parse(input, state))//TODO: err combine [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/client.rs:113:75 [INFO] [stdout] | [INFO] [stdout] 113 | fn publish_diagnostics(&self, uri: Url, diagnostics: Vec, version: Option) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L03_holes/mod.rs: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] [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] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `U` [INFO] [stdout] | [INFO] [stdout] 661 - (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] 661 + (Raw::Hole, L03_holes::Val::U) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 661 | (Raw::Hole, _a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | + [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] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `U` [INFO] [stdout] | [INFO] [stdout] 87 - (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] 87 + (Raw::Hole, L04_implicit::Val::U) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 87 | (Raw::Hole, _a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | + [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/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/L06_string/elaboration.rs:222:22 [INFO] [stdout] | [INFO] [stdout] 222 | 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:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | 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:293:37 [INFO] [stdout] | [INFO] [stdout] 293 | 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: `p` [INFO] [stdout] --> src/L06_string/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L06_string/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L06_string/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:42 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L11_macro/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/lib.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> src/lib.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | use std::io::{self, BufRead, Write, stdin, stdout}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L12_canonical/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> src/L10_typeclass/elaboration.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser_lib_resilient.rs:22:71 [INFO] [stdout] | [INFO] [stdout] 22 | move |input, state: &mut S| self.parse(input, state).or_else(|e| rhs.parse(input, state))//TODO: err combine [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `version` [INFO] [stdout] --> src/client.rs:113:75 [INFO] [stdout] | [INFO] [stdout] 113 | fn publish_diagnostics(&self, uri: Url, diagnostics: Vec, version: Option) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_bind` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/unification.rs:298:29 [INFO] [stdout] | [INFO] [stdout] 298 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:321:37 [INFO] [stdout] | [INFO] [stdout] 321 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | Val::Pi(span, icit, val, closure) => Tm::Lam( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/mod.rs:422:29 [INFO] [stdout] | [INFO] [stdout] 422 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:121:46 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val, global_idx: Lvl) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:184:22 [INFO] [stdout] | [INFO] [stdout] 184 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:422:42 [INFO] [stdout] | [INFO] [stdout] 422 | 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: `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] [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] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `U` [INFO] [stdout] | [INFO] [stdout] 661 - (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] 661 + (Raw::Hole, L03_holes::Val::U) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 661 | (Raw::Hole, _a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | + [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] | ^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `U` [INFO] [stdout] | [INFO] [stdout] 87 - (Raw::Hole, a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] 87 + (Raw::Hole, L04_implicit::Val::U) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 87 | (Raw::Hole, _a) => Ok(self.fresh_meta(cxt)), [INFO] [stdout] | + [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/L07a_depend_pm/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | 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: `p` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `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: `a_quote` [INFO] [stdout] --> src/L08_product_type/cxt.rs:121:46 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val, global_idx: Lvl) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:183:22 [INFO] [stdout] | [INFO] [stdout] 183 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:470:22 [INFO] [stdout] | [INFO] [stdout] 470 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:470:42 [INFO] [stdout] | [INFO] [stdout] 470 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L06_string/elaboration.rs:222:22 [INFO] [stdout] | [INFO] [stdout] 222 | 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:222:42 [INFO] [stdout] | [INFO] [stdout] 222 | 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:293:37 [INFO] [stdout] | [INFO] [stdout] 293 | 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: `p` [INFO] [stdout] --> src/L06_string/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L06_string/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L06_string/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L06_string/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07_sum_type/cxt.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/elaboration.rs:368:42 [INFO] [stdout] | [INFO] [stdout] 368 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | 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: `p` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L08_product_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:237:22 [INFO] [stdout] | [INFO] [stdout] 237 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret_bind` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | .map(|(constr, item_typs, ret_bind)| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_bind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum_name` [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | sum_name, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `sum_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07_sum_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/unification.rs:298:29 [INFO] [stdout] | [INFO] [stdout] 298 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:537:42 [INFO] [stdout] | [INFO] [stdout] 537 | Raw::Lam(x, Either::Name(_), t) => Err(Error(x.map(|_| "infer named lambda".to_owned()))), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:321:37 [INFO] [stdout] | [INFO] [stdout] 321 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07_sum_type/unification.rs:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | Val::Pi(span, icit, val, closure) => Tm::Lam( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07_sum_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/L07_sum_type/mod.rs:422:29 [INFO] [stdout] | [INFO] [stdout] 422 | Val::Match(val, env, cases) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:121:46 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val, global_idx: Lvl) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:184:22 [INFO] [stdout] | [INFO] [stdout] 184 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/elaboration.rs:422:42 [INFO] [stdout] | [INFO] [stdout] 422 | 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: `typ` [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:91:28 [INFO] [stdout] | [INFO] [stdout] 91 | Raw::SumCase { typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:342:37 [INFO] [stdout] | [INFO] [stdout] 342 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | 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: `p` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L09_mltt/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L10_typeclass/elaboration.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | 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: `p` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a_quote` [INFO] [stdout] --> src/L08_product_type/cxt.rs:121:46 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn fake_bind(&self, x: Span, a_quote: Tm, a: Val, global_idx: Lvl) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_quote` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:183:22 [INFO] [stdout] | [INFO] [stdout] 183 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:470:22 [INFO] [stdout] | [INFO] [stdout] 470 | Raw::Lam(x, Either::Name(_), t) => Err(Error("infer named lambda".to_owned())), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L08_product_type/elaboration.rs:470:42 [INFO] [stdout] | [INFO] [stdout] 470 | 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: `typ` [INFO] [stdout] --> src/L10_typeclass/parser/syntax.rs:94:41 [INFO] [stdout] | [INFO] [stdout] 94 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L08_product_type/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:352:37 [INFO] [stdout] | [INFO] [stdout] 352 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L08_product_type/unification.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | 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: `p` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L08_product_type/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L08_product_type/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:237:22 [INFO] [stdout] | [INFO] [stdout] 237 | let (ret, error) = compiler.compile(self, typ, &clause, cxt, self.eval(&cxt.env, tm.clone()))?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:218:29 [INFO] [stdout] | [INFO] [stdout] 218 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:248:15 [INFO] [stdout] | [INFO] [stdout] 248 | [(var, typ, head_name, icit), heads_rest @ ..] => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L09_mltt/elaboration.rs:537:42 [INFO] [stdout] | [INFO] [stdout] 537 | Raw::Lam(x, Either::Name(_), t) => Err(Error(x.map(|_| "infer named lambda".to_owned()))), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/unification.rs:360:37 [INFO] [stdout] | [INFO] [stdout] 360 | Val::Pi(span, icit, val, closure) => Tm::Lam( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `icit` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_icit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closure` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | Val::LiteralIntro(span) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L09_mltt/parser/syntax.rs:91:28 [INFO] [stdout] | [INFO] [stdout] 91 | Raw::SumCase { typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L10_typeclass/pretty.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | Tm::Sum(span, tms, items, _) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L10_typeclass/pretty.rs:188:23 [INFO] [stdout] | [INFO] [stdout] 188 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decl` [INFO] [stdout] --> src/L11_macro/cxt.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | fn create_global(infer: &Infer, decl: &Decl, env: &Env, typ: Rc) -> Rc { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_decl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/cxt.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | if let Some((span, _, _, _, _)) = t { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L11_macro/cxt.rs:433:13 [INFO] [stdout] | [INFO] [stdout] 433 | let t = decl.insert(x.data.clone(), (x.to_span(), t, vt, a, va)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L11_macro/elaboration.rs:168:32 [INFO] [stdout] | [INFO] [stdout] 168 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L11_macro/parser/syntax.rs:103:41 [INFO] [stdout] | [INFO] [stdout] 103 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L11_macro/parser/macros.rs:43:53 [INFO] [stdout] | [INFO] [stdout] 43 | ... msg: token.map(|x| ErrMsg::Expect(*kind)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:28 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/L09_mltt/unification.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | (list, Val::Pi(x, i, a, b)) if list.head().unwrap().is_none() => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:342:37 [INFO] [stdout] | [INFO] [stdout] 342 | Val::Pi(span, icit, val, closure) if span.data == "_" => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L09_mltt/unification.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | 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: `p` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `top_ns` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_top_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:49 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:67 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pr` [INFO] [stdout] --> src/L09_mltt/pretty.rs:51:75 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L09_mltt/pretty.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | Tm::Sum(span, tms, items) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L10_typeclass/elaboration.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L10_typeclass/parser/syntax.rs:94:41 [INFO] [stdout] | [INFO] [stdout] 94 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:218:29 [INFO] [stdout] | [INFO] [stdout] 218 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:248:15 [INFO] [stdout] | [INFO] [stdout] 248 | [(var, typ, head_name, icit), heads_rest @ ..] => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/unification.rs:360:37 [INFO] [stdout] | [INFO] [stdout] 360 | Val::Pi(span, icit, val, closure) => Tm::Lam( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `icit` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_icit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closure` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | Val::LiteralIntro(span) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L10_typeclass/pretty.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | Tm::Sum(span, tms, items, _) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L10_typeclass/pretty.rs:188:23 [INFO] [stdout] | [INFO] [stdout] 188 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decl` [INFO] [stdout] --> src/L11_macro/cxt.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | fn create_global(infer: &Infer, decl: &Decl, env: &Env, typ: Rc) -> Rc { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_decl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/cxt.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | if let Some((span, _, _, _, _)) = t { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L11_macro/cxt.rs:433:13 [INFO] [stdout] | [INFO] [stdout] 433 | let t = decl.insert(x.data.clone(), (x.to_span(), t, vt, a, va)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L11_macro/elaboration.rs:168:32 [INFO] [stdout] | [INFO] [stdout] 168 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L11_macro/parser/syntax.rs:103:41 [INFO] [stdout] | [INFO] [stdout] 103 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L11_macro/parser/macros.rs:43:53 [INFO] [stdout] | [INFO] [stdout] 43 | ... msg: token.map(|x| ErrMsg::Expect(*kind)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L11_macro/pattern_match.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/unification.rs:378:37 [INFO] [stdout] | [INFO] [stdout] 378 | Val::Pi(span, icit, val, closure) => Tm::Lam( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `icit` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:27 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_icit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closure` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:38 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | Val::LiteralIntro(span) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L11_macro/pretty.rs:180:28 [INFO] [stdout] | [INFO] [stdout] 180 | Tm::Sum(span, tms, items, _) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L11_macro/pretty.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L11_macro/mod.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | MetaEntry::Solved(t, _) => None,//TODO: this is error. this will be fixed in L12 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L12_canonical/cxt.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let t = decl.insert(x.data.clone(), (x.to_span(), t, vt, a, va)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:169:32 [INFO] [stdout] | [INFO] [stdout] 169 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:536:21 [INFO] [stdout] | [INFO] [stdout] 536 | let span = name.to_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L12_canonical/parser/syntax.rs:120:41 [INFO] [stdout] | [INFO] [stdout] 120 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L12_canonical/parser/macros.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | ... msg: token.map(|x| ErrMsg::Expect(*kind)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L12_canonical/pattern_match.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L11_macro/pattern_match.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/L12_canonical/typeclass.rs:227:33 [INFO] [stdout] | [INFO] [stdout] 227 | (Val::Match(a1, b1, c1, _), Val::Match(a2, b2, c2, _)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/L12_canonical/typeclass.rs:227:60 [INFO] [stdout] | [INFO] [stdout] 227 | (Val::Match(a1, b1, c1, _), Val::Match(a2, b2, c2, _)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/unification.rs:378:37 [INFO] [stdout] | [INFO] [stdout] 378 | 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: `items` [INFO] [stdout] --> src/L12_canonical/pretty.rs:183:28 [INFO] [stdout] | [INFO] [stdout] 183 | Tm::Sum(span, tms, items, _) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L12_canonical/pretty.rs:209:23 [INFO] [stdout] | [INFO] [stdout] 209 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sp` [INFO] [stdout] --> src/L11_macro/typeclass.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | Val::Obj(val, span, sp) => None, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `icit` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:27 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_icit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closure` [INFO] [stdout] --> src/L11_macro/typeclass.rs:28:38 [INFO] [stdout] | [INFO] [stdout] 28 | Val::Pi(span, icit, val, closure) => None, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L11_macro/typeclass.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | Val::LiteralIntro(span) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L12_canonical/canonical.rs:81:35 [INFO] [stdout] | [INFO] [stdout] 81 | while let Val::Pi(span, icit, dom, clos) = vt.as_ref() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L11_macro/pretty.rs:180:28 [INFO] [stdout] | [INFO] [stdout] 180 | Tm::Sum(span, tms, items, _) => format!( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L11_macro/pretty.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L11_macro/mod.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | MetaEntry::Solved(t, _) => None,//TODO: this is error. this will be fixed in L12 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/L12_canonical/cxt.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let t = decl.insert(x.data.clone(), (x.to_span(), t, vt, a, va)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:169:32 [INFO] [stdout] | [INFO] [stdout] 169 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:354:32 [INFO] [stdout] | [INFO] [stdout] 354 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L12_canonical/elaboration.rs:536:21 [INFO] [stdout] | [INFO] [stdout] 536 | let span = name.to_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:844:21 [INFO] [stdout] | [INFO] [stdout] 844 | let span = name.to_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out_param` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:919:25 [INFO] [stdout] | [INFO] [stdout] 919 | let out_param = self.trait_out_param.get(&trait_name.data) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_param` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_expl` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:1328:21 [INFO] [stdout] | [INFO] [stdout] 1328 | let is_expl = matches!(i, Either::Icit(Icit::Expl)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_expl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `head` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:1542:29 [INFO] [stdout] | [INFO] [stdout] 1542 | if let Some(ref head) = typ_raw_head { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L13_namespace/parser/syntax.rs:144:41 [INFO] [stdout] | [INFO] [stdout] 144 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L13_namespace/parser/macros.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | ... msg: token.map(|x| ErrMsg::Base(BaseMsg::Expect(*kind))), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L12_canonical/parser/syntax.rs:120:41 [INFO] [stdout] | [INFO] [stdout] 120 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L12_canonical/parser/macros.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | ... msg: token.map(|x| ErrMsg::Expect(*kind)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L12_canonical/pattern_match.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L13_namespace/parser/mod.rs:1959:13 [INFO] [stdout] | [INFO] [stdout] 1959 | Err(e) => Ok((input, vec![])), // No attribute found, not an error [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/L12_canonical/typeclass.rs:227:33 [INFO] [stdout] | [INFO] [stdout] 227 | (Val::Match(a1, b1, c1, _), Val::Match(a2, b2, c2, _)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/L12_canonical/typeclass.rs:227:60 [INFO] [stdout] | [INFO] [stdout] 227 | (Val::Match(a1, b1, c1, _), Val::Match(a2, b2, c2, _)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L12_canonical/pretty.rs:183:28 [INFO] [stdout] | [INFO] [stdout] 183 | Tm::Sum(span, tms, items, _) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L12_canonical/pretty.rs:209:23 [INFO] [stdout] | [INFO] [stdout] 209 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L12_canonical/canonical.rs:81:35 [INFO] [stdout] | [INFO] [stdout] 81 | while let Val::Pi(span, icit, dom, clos) = vt.as_ref() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/L13_namespace/unification.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | let mut solution = self.eval(decl, &List::new(), &self.lams(pren.dom, decl, &mty, rhs)); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cxt` [INFO] [stdout] --> src/L13_namespace/unification.rs:456:41 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar, allow_flex_defaulting: bool) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cxt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/L13_namespace/typeclass.rs:319:33 [INFO] [stdout] | [INFO] [stdout] 319 | (Val::Match(a1, b1, c1), Val::Match(a2, b2, c2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/L13_namespace/typeclass.rs:319:57 [INFO] [stdout] | [INFO] [stdout] 319 | (Val::Match(a1, b1, c1), Val::Match(a2, b2, c2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:354:32 [INFO] [stdout] | [INFO] [stdout] 354 | Val::U(x) => {//TODO:x? [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L13_namespace/pretty.rs:182:28 [INFO] [stdout] | [INFO] [stdout] 182 | Tm::Sum(span, tms, items, _) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L13_namespace/pretty.rs:208:23 [INFO] [stdout] | [INFO] [stdout] 208 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/canonical.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | while let Val::Pi(span, icit, dom, clos) = vt.as_ref() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:442:22 [INFO] [stdout] | [INFO] [stdout] 442 | Val::Lam(name, _, clos) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:447:21 [INFO] [stdout] | [INFO] [stdout] 447 | Val::Pi(name, _, vty, clos) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/L13_namespace/mod.rs:455:31 [INFO] [stdout] | [INFO] [stdout] 455 | Val::LiteralIntro(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:458:22 [INFO] [stdout] | [INFO] [stdout] 458 | Val::Sum(name, params, cases, _) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/L13_namespace/mod.rs:460:22 [INFO] [stdout] | [INFO] [stdout] 460 | for (pname, pval, pvty, _) in params.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cname` [INFO] [stdout] --> src/L13_namespace/mod.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | for cname in cases.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_name` [INFO] [stdout] --> src/L13_namespace/mod.rs:469:33 [INFO] [stdout] | [INFO] [stdout] 469 | Val::SumCase { typ, case_name, datas, .. } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `case_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dname` [INFO] [stdout] --> src/L13_namespace/mod.rs:472:22 [INFO] [stdout] | [INFO] [stdout] 472 | for (dname, dval, _) in datas.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/L13_namespace/mod.rs:480:22 [INFO] [stdout] | [INFO] [stdout] 480 | for (pat, tm) in cases { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:521:22 [INFO] [stdout] | [INFO] [stdout] 521 | Tm::Decl(name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:524:28 [INFO] [stdout] | [INFO] [stdout] 524 | Tm::Obj(inner, name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:528:21 [INFO] [stdout] | [INFO] [stdout] 528 | Tm::Lam(name, _, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | Tm::Pi(name, _, ty_a, ty_b) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:545:21 [INFO] [stdout] | [INFO] [stdout] 545 | Tm::Let(name, ty, val, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:556:21 [INFO] [stdout] | [INFO] [stdout] 556 | Tm::Sum(name, params, cases, _) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/L13_namespace/mod.rs:558:22 [INFO] [stdout] | [INFO] [stdout] 558 | for (pname, ptm, pty, _) in params.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cname` [INFO] [stdout] --> src/L13_namespace/mod.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | for cname in cases.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_name` [INFO] [stdout] --> src/L13_namespace/mod.rs:567:32 [INFO] [stdout] | [INFO] [stdout] 567 | Tm::SumCase { typ, case_name, datas, .. } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `case_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dname` [INFO] [stdout] --> src/L13_namespace/mod.rs:570:22 [INFO] [stdout] | [INFO] [stdout] 570 | for (dname, dtm, _) in datas.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/L13_namespace/mod.rs:577:22 [INFO] [stdout] | [INFO] [stdout] 577 | for (pat, branch) in cases { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/mod.rs:594:18 [INFO] [stdout] | [INFO] [stdout] 594 | for (_, (span, rtm, rval, rty, rvty, _)) in cxt.decl.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/mod.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | for (_, _, (span, vty)) in cxt.src_names.iter_all() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:844:21 [INFO] [stdout] | [INFO] [stdout] 844 | let span = name.to_span(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out_param` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:919:25 [INFO] [stdout] | [INFO] [stdout] 919 | let out_param = self.trait_out_param.get(&trait_name.data) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_param` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta_alloc` [INFO] [stdout] --> src/L13_namespace/mod.rs:854:13 [INFO] [stdout] | [INFO] [stdout] 854 | let meta_alloc = (std::mem::size_of::() + 16 + 7) & !7; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_alloc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_expl` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:1328:21 [INFO] [stdout] | [INFO] [stdout] 1328 | let is_expl = matches!(i, Either::Icit(Icit::Expl)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_expl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `head` [INFO] [stdout] --> src/L13_namespace/elaboration.rs:1542:29 [INFO] [stdout] | [INFO] [stdout] 1542 | if let Some(ref head) = typ_raw_head { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/lib.rs:526:29 [INFO] [stdout] | [INFO] [stdout] 526 | let url = params.uri.clone(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resp` [INFO] [stdout] --> src/lib.rs:1174:35 [INFO] [stdout] | [INFO] [stdout] 1174 | Message::Response(resp) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_resp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1193:62 [INFO] [stdout] | [INFO] [stdout] 1193 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1200:62 [INFO] [stdout] | [INFO] [stdout] 1200 | ... Err(ExtractError::MethodMismatch(not)) =>(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1207:62 [INFO] [stdout] | [INFO] [stdout] 1207 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1214:62 [INFO] [stdout] | [INFO] [stdout] 1214 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `typ` [INFO] [stdout] --> src/L13_namespace/parser/syntax.rs:144:41 [INFO] [stdout] | [INFO] [stdout] 144 | Raw::SumCase { is_trait: _, typ, case_name, datas } => datas.last() [INFO] [stdout] | ^^^ help: try ignoring the field: `typ: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::env` [INFO] [stdout] --> src/L04_implicit/cxt.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::cxt::Cxt::lvl` [INFO] [stdout] --> src/L04_implicit/cxt.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub lvl: Lvl, // Used for unification [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::lvl` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::types` [INFO] [stdout] --> src/L04_implicit/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub types: Types, // Used for raw name lookup and pretty printing [INFO] [stdout] | ^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::BD` is more private than the item `L04_implicit::cxt::Cxt::bds` [INFO] [stdout] --> src/L04_implicit/cxt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub bds: List, // Used for fresh meta creation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::bds` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::BD` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::bind` [INFO] [stdout] --> src/L04_implicit/cxt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L04_implicit/cxt.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::define` [INFO] [stdout] --> src/L04_implicit/cxt.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::UnifyError` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | 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:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::env` [INFO] [stdout] --> src/L05_pruning/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::src_names` [INFO] [stdout] --> src/L05_pruning/cxt.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub src_names: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L05_pruning/cxt.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::UnifyError` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Define::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::3` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Define::3` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Bind::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::DeclTm::Println::0` [INFO] [stdout] --> src/L06_string/mod.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | Println(Tm), [INFO] [stdout] | ^^ field `L06_string::DeclTm::Println::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::Infer::nf` [INFO] [stdout] --> src/L06_string/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::Infer::nf` [INFO] [stdout] --> src/L06_string/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer` [INFO] [stdout] --> src/L06_string/elaboration.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::env` [INFO] [stdout] --> src/L06_string/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L06_string::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::src_names` [INFO] [stdout] --> src/L06_string/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L06_string/cxt.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::define` [INFO] [stdout] --> src/L06_string/cxt.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Rc, a: Ty, va: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::define` [INFO] [stdout] --> src/L06_string/cxt.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Rc, a: Ty, va: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn unify(&mut self, l: Lvl, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::UnifyError` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn unify(&mut self, l: Lvl, t: &Rc, u: &Rc) -> 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:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::2` [INFO] [stdout] --> src/L06_string/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Define::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::3` [INFO] [stdout] --> src/L06_string/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Define::3` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L06_string/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Bind::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/L13_namespace/parser/macros.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | ... msg: token.map(|x| ErrMsg::Base(BaseMsg::Expect(*kind))), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::UnifyError` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:171:1 [INFO] [stdout] | [INFO] [stdout] 171 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07a_depend_pm::UnifyError` is more private than the item `L07a_depend_pm::unification::::unify` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07a_depend_pm::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07a_depend_pm::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::UnifyError` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::invert` [INFO] [stdout] --> src/L10_typeclass/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: &Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L10_typeclass::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::prune_ty` [INFO] [stdout] --> src/L10_typeclass/unification.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn prune_ty(&mut self, pr: &Pruning, a: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::rename` [INFO] [stdout] --> src/L10_typeclass/unification.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn rename(&mut self, pren: &PartialRenaming, t: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::solve_multi_trait` [INFO] [stdout] --> src/L10_typeclass/unification.rs:420:5 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::solve_multi_trait` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::unify` [INFO] [stdout] --> src/L10_typeclass/unification.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::invert` [INFO] [stdout] --> src/L11_macro/unification.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / pub fn invert( [INFO] [stdout] 75 | | &self, [INFO] [stdout] 76 | | gamma: Lvl, [INFO] [stdout] 77 | | decl: &Decl, [INFO] [stdout] 78 | | sp: &Spine, [INFO] [stdout] 79 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L11_macro::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::prune_ty` [INFO] [stdout] --> src/L11_macro/unification.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn prune_ty(&mut self, decl: &Decl, pr: &Pruning, a: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::rename` [INFO] [stdout] --> src/L11_macro/unification.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn rename(&mut self, decl: &Decl, pren: &PartialRenaming, t: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::solve_multi_trait` [INFO] [stdout] --> src/L11_macro/unification.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 441 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::solve_multi_trait` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::unify` [INFO] [stdout] --> src/L11_macro/unification.rs:607:5 [INFO] [stdout] | [INFO] [stdout] 607 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `severity`, `range`, `path_id`, and `msg` are never read [INFO] [stdout] --> src/parser_lib.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct Diagnostic { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 132 | severity: Severity, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 133 | range: (u32, u32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 134 | path_id: PathId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 135 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Diagnostic` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:295:10 [INFO] [stdout] | [INFO] [stdout] 295 | pub enum Maybe { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used [INFO] [stdout] --> src/parser_lib.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 311 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 312 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | 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:342:12 [INFO] [stdout] | [INFO] [stdout] 341 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 342 | 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:362:8 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn maybe<'a: 'b, 'b, T, P, N: 'a + Copy, E: Copy>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pmatch_empty` is never used [INFO] [stdout] --> src/parser_lib.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | pub fn pmatch_empty<'a, P: Pattern + Copy>(pat: P) -> impl Parser, Span<&'a str>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib.rs:442:11 [INFO] [stdout] | [INFO] [stdout] 442 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Input` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:278:10 [INFO] [stdout] | [INFO] [stdout] 278 | pub type Input<'a> = Span<&'a str>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:281:10 [INFO] [stdout] | [INFO] [stdout] 281 | pub enum Maybe { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used [INFO] [stdout] --> src/parser_lib_resilient.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 297 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 298 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | 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_resilient.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 328 | pub fn raise_err(self, err: &mut Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:408:11 [INFO] [stdout] | [INFO] [stdout] 408 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const KEYWORD: [(&str, TokenKind); 12] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:67:7 [INFO] [stdout] | [INFO] [stdout] 67 | const OP: [(&str, TokenKind); 16] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const KEYWORD: [(&str, TokenKind); 2] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const OP: [(&str, TokenKind); 7] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L02_tyck/parser/lex.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pretty` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 39 | impl Tm { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] 40 | fn pretty(&self, names: List<(Span, Val)>) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:78:6 [INFO] [stdout] | [INFO] [stdout] 78 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | type Spine = List; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:93:6 [INFO] [stdout] | [INFO] [stdout] 93 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L03_holes/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 95 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 96 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn lift(pr: PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lams` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn lams(l: Lvl, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L03_holes/mod.rs:158:6 [INFO] [stdout] | [INFO] [stdout] 158 | type Types = List<(Span, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, and `define` are never used [INFO] [stdout] --> src/L03_holes/mod.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 169 | fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L03_holes/mod.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L03_holes/mod.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 202 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 203 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn fresh_meta(&mut self, cxt: &Cxt) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | fn v_app(&self, t: Val, u: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn v_app_bds(&self, env: &Env, v: Val, bds: &List) -> Val { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn invert_go(&self, sp: Spine) -> Result<(Lvl, HashMap), UnifyError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | fn invert(&self, gamma: Lvl, sp: Spine) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn rename_go_sp( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | fn rename_go(&self, m: MetaVar, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn rename(&self, m: MetaVar, pren: PartialRenaming, v: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 376 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 393 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 423 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 427 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | fn unify_sp(&mut self, l: Lvl, sp: &List, sp_prime: &List) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 520 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 632 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_binder` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn p_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:108:4 [INFO] [stdout] | [INFO] [stdout] 108 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L03_holes/parser/mod.rs:134:4 [INFO] [stdout] | [INFO] [stdout] 134 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:30:10 [INFO] [stdout] | [INFO] [stdout] 30 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const OP: [(&str, TokenKind); 9] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 48 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L03_holes/parser/lex.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:62:6 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:70:6 [INFO] [stdout] | [INFO] [stdout] 70 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L04_implicit/mod.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 72 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 73 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L04_implicit/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L04_implicit/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L04_implicit/mod.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 108 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn fresh_meta(&mut self, cxt: &Cxt) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn v_app_bds(&self, env: &Env, v: Val, bds: &List) -> Val { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn p_lam_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Span, Either))> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn p_pi_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Vec>, Raw, Icit))> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L04_implicit/parser/mod.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const OP: [(&str, TokenKind); 11] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L04_implicit/parser/lex.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L04_implicit/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L04_implicit/elaboration.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 10 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn insert_until_go(&mut self, cxt: &Cxt, name: Span, t: Tm, va: Val) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn insert_until_name(&mut self, cxt: &Cxt, name: Span, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L04_implicit/cxt.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L04_implicit/cxt.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 21 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L04_implicit/unification.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L04_implicit/unification.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn lift(pr: PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lams` is never used [INFO] [stdout] --> src/L04_implicit/unification.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lams(l: List, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L04_implicit/unification.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 46 | fn invert_go(&self, sp: Spine) -> Result<(Lvl, HashMap), UnifyError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn invert(&self, gamma: Lvl, sp: Spine) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn rename_go_sp( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn rename_go(&self, m: MetaVar, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn rename(&self, m: MetaVar, pren: PartialRenaming, v: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 45 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:57:6 [INFO] [stdout] | [INFO] [stdout] 57 | type Env = List; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:58:6 [INFO] [stdout] | [INFO] [stdout] 58 | type Spine = List<(Val, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct Closure(Env, Box); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:64:6 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L05_pruning/mod.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 75 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L05_pruning/mod.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn empty_span(data: T) -> Span { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L05_pruning/mod.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L05_pruning/mod.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 110 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn new_meta(&mut self, a: VTy) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn fresh_meta(&mut self, cxt: &Cxt, a: VTy) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn lookup_meta(&self, m: MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn force(&self, t: Val) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn v_meta(&self, m: MetaVar) -> Val { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn closure_apply(&self, closure: &Closure, u: Val) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn v_app(&self, t: Val, u: Val, i: Icit) -> Val { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn v_app_sp(&self, t: Val, spine: Spine) -> Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn v_app_pruning(&self, env: &Env, v: Val, pr: &Pruning) -> Val { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn eval(&self, env: &Env, tm: Tm) -> Val { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn quote(&self, l: Lvl, t: Val) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn close_val(&self, cxt: &Cxt, t: Val) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn unify_catch(&mut self, cxt: &Cxt, t: Val, t_prime: Val) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn p_lam_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Span, Either))> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn p_pi_binder<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Vec>, Raw, Icit))> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L05_pruning/parser/mod.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const KEYWORD: [(&str, TokenKind); 2] = [("let", LetKeyword), ("U", UKeyword)]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const OP: [(&str, TokenKind); 11] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn ident(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn brace(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn op(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lex` is never used [INFO] [stdout] --> src/L05_pruning/parser/lex.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L05_pruning/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L05_pruning/elaboration.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 10 | fn insert_go(&mut self, cxt: &Cxt, t: Tm, va: Val) -> (Tm, VTy) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, VTy), Error>) -> Result<(Tm, VTy), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn check(&mut self, cxt: &Cxt, t: Raw, a: Val) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L05_pruning/cxt.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L05_pruning/cxt.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 24 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PartialRenaming` is never constructed [INFO] [stdout] --> src/L05_pruning/unification.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct PartialRenaming { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lift` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn lift(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn skip(pr: &PartialRenaming) -> PartialRenaming { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpinePruneStatus` is never used [INFO] [stdout] --> src/L05_pruning/unification.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | enum SpinePruneStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L05_pruning/unification.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Infer { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 49 | fn invert_go( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn invert( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn prune_ty_go( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn lams_go(&self, l: Lvl, t: Tm, a: VTy, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | fn lams(&self, l: Lvl, a: VTy, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L05_pruning/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetaVar` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct MetaVar(u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MetaEntry` is never used [INFO] [stdout] --> src/L06_string/mod.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | enum MetaEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ix` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct Ix(u32); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L06_string/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DeclTm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum DeclTm { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Tm` is never used [INFO] [stdout] --> src/L06_string/mod.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Ty` is never used [INFO] [stdout] --> src/L06_string/mod.rs:60:6 [INFO] [stdout] | [INFO] [stdout] 60 | type Ty = Tm; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lvl` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Lvl(u32); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Env` is never used [INFO] [stdout] --> src/L06_string/mod.rs:72:6 [INFO] [stdout] | [INFO] [stdout] 72 | type Env = List>; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Spine` is never used [INFO] [stdout] --> src/L06_string/mod.rs:73:6 [INFO] [stdout] | [INFO] [stdout] 73 | type Spine = List<(Rc, Icit)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Closure` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct Closure(Env, Rc); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Val` is never used [INFO] [stdout] --> src/L06_string/mod.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VTy` is never used [INFO] [stdout] --> src/L06_string/mod.rs:90:6 [INFO] [stdout] | [INFO] [stdout] 90 | type VTy = Val; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vvar` and `vmeta` are never used [INFO] [stdout] --> src/L06_string/mod.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 92 | impl Val { [INFO] [stdout] | -------- associated functions in this implementation [INFO] [stdout] 93 | fn vvar(x: Lvl) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn vmeta(m: MetaVar) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lvl2ix` is never used [INFO] [stdout] --> src/L06_string/mod.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn lvl2ix(l: Lvl, x: Lvl) -> Ix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnifyError` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_span` is never used [INFO] [stdout] --> src/L06_string/mod.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | 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:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct Error(String); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/L06_string/mod.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | 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:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 129 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | fn new_meta(&mut self, a: Rc) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn fresh_meta(&mut self, cxt: &Cxt, a: &Rc) -> Tm { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn lookup_meta(&self, m: &MetaVar) -> &MetaEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn force(&self, t: &Rc) -> Rc { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn v_meta(&self, m: &MetaVar) -> Rc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn closure_apply(&self, closure: &Closure, u: Rc) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn v_app(&self, t: Rc, u: Rc, i: Icit) -> Rc { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | fn v_app_sp(&self, t: Rc, spine: Spine) -> Rc { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn v_app_pruning(&self, env: &Env, v: Rc, pr: &Pruning) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn eval(&self, env: &Env, tm: &Tm) -> Rc { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn quote_sp(&self, l: Lvl, t: Tm, spine: Spine) -> Tm { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn quote(&self, l: Lvl, t: &Rc) -> Tm { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn close_val(&self, cxt: &Cxt, t: &Rc) -> Closure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn unify_catch(&mut self, cxt: &Cxt, t: &Rc, t_prime: &Rc) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/L06_string/mod.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn run(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `preprocess` is never used [INFO] [stdout] --> src/L06_string/mod.rs:304:8 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn preprocess(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L06_string/mod.rs:373:8 [INFO] [stdout] | [INFO] [stdout] 373 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parser(input: &str, id: u32) -> Option> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kw` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn kw<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span<()>> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn string<'a: 'b, 'b>(p: TokenKind) -> impl Parser<&'b [TokenNode<'a>], Span> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn paren<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn square<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brace` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn brace<'a: 'b, 'b, P, O>(p: P) -> impl Parser<&'b [TokenNode<'a>], O> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_atom` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn p_atom<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_arg` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn p_arg<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], (Either, Raw))> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_spine` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn p_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_bind` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn p_bind<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Span)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam_binder` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn p_lam_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_lam` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn p_lam<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi_binder` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn p_pi_binder<'a: 'b, 'b>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_pi` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn p_pi<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fun_or_spine` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn fun_or_spine<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_let` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn p_let<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_raw` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:214:4 [INFO] [stdout] | [INFO] [stdout] 214 | fn p_raw<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Raw)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_def` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn p_def<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_print` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn p_print<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `p_decl` is never used [INFO] [stdout] --> src/L06_string/parser/mod.rs:244:4 [INFO] [stdout] | [INFO] [stdout] 244 | fn p_decl<'a: 'b, 'b>(input: &'b [TokenNode<'a>]) -> Option<(&'b [TokenNode<'a>], Decl)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenKind` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Token` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub type Token<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYWORD` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const KEYWORD: [(&str, TokenKind); 4] = [ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const OP: [(&str, TokenKind); 15] = [ [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub type TokenNode<'a> = Span<(&'a str, TokenKind)>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn string(input: Span<&str>) -> Option<(Input<'_>, Token<'_>)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ident` is never used [INFO] [stdout] --> src/L06_string/parser/lex.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | 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:131:4 [INFO] [stdout] | [INFO] [stdout] 131 | 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:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | 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:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn lex(input: Span<&str>) -> Option<(Input<'_>, Vec>)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Icit` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Icit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Either` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Raw` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Raw { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Decl` is never used [INFO] [stdout] --> src/L06_string/parser/syntax.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Decl { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/L06_string/elaboration.rs: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: &Rc) -> (Tm, Rc) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn insert_t(&mut self, cxt: &Cxt, act: Result<(Tm, Rc), Error>) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn insert(&mut self, cxt: &Cxt, act: Result<(Tm, Rc), Error>) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn insert_until_go( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn insert_until_name( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn check(&mut self, cxt: &Cxt, t: Raw, a: &Rc) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L06_string/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cxt` is never constructed [INFO] [stdout] --> src/L06_string/cxt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Cxt { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `empty`, `names`, `bind`, `new_binder`, and `define` are never used [INFO] [stdout] --> src/L06_string/cxt.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Cxt { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn names(&self) -> List { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Rc) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Rc, a: Ty, va: Rc) -> 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] 123 | fn prune_ty(&mut self, pr: &Pruning, a: &Rc) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn prune_meta(&mut self, pruning: Pruning, m: MetaVar) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn prune_vflex_go( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn prune_vflex( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn rename_sp(&mut self, pren: &PartialRenaming, t: Tm, sp: &Spine) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn rename(&mut self, pren: &PartialRenaming, t: &Rc) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn lams_go(&self, l: Lvl, t: Tm, a: &Rc, l_prime: Lvl) -> Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn lams(&self, l: Lvl, a: &Rc, t: Tm) -> Tm { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | fn solve(&mut self, gamma: Lvl, m: MetaVar, sp: Spine, rhs: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn solve_with_pren( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | fn unify_sp(&mut self, l: Lvl, sp: &Spine, sp_prime: &Spine) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | fn flex_flex( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn intersect_go(&mut self, sp: Spine, sp_prime: Spine) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn intersect( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn unify(&mut self, l: Lvl, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Pruning` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub type Pruning = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Locals` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Locals { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `close_ty` is never used [INFO] [stdout] --> src/L06_string/syntax.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn close_ty(mcl: Locals, b: Ty) -> Ty { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const ATP: i32 = 3; // atomp [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APPP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const APPP: i32 = 2; // appp [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const PIP: i32 = 1; // pip [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LETP` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LETP: i32 = 0; // letp [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bracket` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn bracket(s: String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `paren` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn paren(f: String) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fresh` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn fresh(ns: List, suggested: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `go_ix` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn go_ix(ns: List, ix: u32) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `go_app_pruning` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn go_app_pruning(p: i32, top_ns: List, ns: List, t: &Tm, pr: &Pruning) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pretty_tm` is never used [INFO] [stdout] --> src/L06_string/pretty.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn pretty_tm(prec: i32, ns: List, tm: &Tm) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 23 - Solved(Val, VTy), [INFO] [stdout] 23 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/mod.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L07_sum_type/mod.rs:717:8 [INFO] [stdout] | [INFO] [stdout] 717 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07_sum_type/cxt.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07_sum_type/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 26 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 26 ~ (), [INFO] [stdout] 27 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 44 - Unreachable(Raw), [INFO] [stdout] 44 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07_sum_type/pattern_match.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unmatched(Pattern), [INFO] [stdout] 45 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07_sum_type/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Solved(Val, VTy), [INFO] [stdout] 25 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:899:8 [INFO] [stdout] | [INFO] [stdout] 899 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_env` is never used [INFO] [stdout] --> src/L07a_depend_pm/cxt.rs:221:12 [INFO] [stdout] | [INFO] [stdout] 220 | impl Cxt { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 221 | pub fn print_env(&self, infer: &Infer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L07a_depend_pm/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | Leaf(MatchBody), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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 field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Leaf(MatchBody), [INFO] [stdout] 25 + Leaf(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 27 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | Vec<(Constructor, Vec, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 27 ~ (), [INFO] [stdout] 28 ~ (), [INFO] [stdout] 29 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 34 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unreachable(Raw), [INFO] [stdout] 45 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L07a_depend_pm/pattern_match.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Unmatched(Pattern), [INFO] [stdout] 46 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L07a_depend_pm/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L08_product_type/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - Solved(Val, VTy), [INFO] [stdout] 24 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/mod.rs:186:18 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Error(String); [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L08_product_type/mod.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NameOrigin` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum NameOrigin { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Types` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | type Types = List<(Span, NameOrigin, Val)>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_env` is never used [INFO] [stdout] --> src/L08_product_type/cxt.rs:221:12 [INFO] [stdout] | [INFO] [stdout] 220 | impl Cxt { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 221 | pub fn print_env(&self, infer: &Infer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L08_product_type/parser/lex.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | Leaf(MatchBody), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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 field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Leaf(MatchBody), [INFO] [stdout] 25 + Leaf(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 27 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | Vec<(Constructor, Vec, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 27 ~ (), [INFO] [stdout] 28 ~ (), [INFO] [stdout] 29 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 34 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unreachable(Raw), [INFO] [stdout] 45 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L08_product_type/pattern_match.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Unmatched(Pattern), [INFO] [stdout] 46 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L08_product_type/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L09_mltt/mod.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | Solved(Val, VTy), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - Solved(Val, VTy), [INFO] [stdout] 24 + Solved(Val, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 32 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/mod.rs:186:18 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Error(pub Span); [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run1` is never used [INFO] [stdout] --> src/L09_mltt/mod.rs:700:8 [INFO] [stdout] | [INFO] [stdout] 700 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L09_mltt/parser/lex.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | Leaf(MatchBody), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [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 field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Leaf(MatchBody), [INFO] [stdout] 25 + Leaf(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 26 | Branch( [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 27 | TypeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 28 | Var, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | Vec<(Constructor, Vec, Box)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecisionTree` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 27 ~ (), [INFO] [stdout] 28 ~ (), [INFO] [stdout] 29 ~ (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl DecisionTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 34 | pub fn iter(&self) -> Box + '_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | Unreachable(Raw), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 - Unreachable(Raw), [INFO] [stdout] 45 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L09_mltt/pattern_match.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | Unmatched(Pattern), [INFO] [stdout] | --------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Warning` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 - Unmatched(Pattern), [INFO] [stdout] 46 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L09_mltt/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L10_typeclass/mod.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | Solved(Rc, Rc), [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 - Solved(Rc, Rc), [INFO] [stdout] 25 + Solved(Rc, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L10_typeclass/mod.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `typ`, `body`, `typ_pretty`, and `body_pretty` are never read [INFO] [stdout] --> src/L10_typeclass/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 40 | Def { [INFO] [stdout] | --- fields in this variant [INFO] [stdout] 41 | name: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | typ: Rc, [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | body: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 44 | typ_pretty: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 45 | body_pretty: String, [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: function `run1` is never used [INFO] [stdout] --> src/L10_typeclass/mod.rs:1307:8 [INFO] [stdout] | [INFO] [stdout] 1307 | pub fn run1(input: &str, path_id: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L10_typeclass/parser/lex.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 46 | 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 `0` is never read [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | 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] 22 - Unreachable(Raw), [INFO] [stdout] 22 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L10_typeclass/pattern_match.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | 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] 23 - Unmatched(Pattern), [INFO] [stdout] 23 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Fn` and `Trait` are never constructed [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Typ { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Fn(Box, Box), [INFO] [stdout] | ^^ [INFO] [stdout] 15 | Trait(Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Typ` 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: associated function `new` is never used [INFO] [stdout] --> src/L10_typeclass/typeclass.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 134 | impl Synth { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 135 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L10_typeclass/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L11_macro/mod.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | Solved(Rc, Rc), [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 29 - Solved(Rc, Rc), [INFO] [stdout] 29 + Solved(Rc, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L11_macro/mod.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `typ`, `body`, `typ_pretty`, and `body_pretty` are never read [INFO] [stdout] --> src/L11_macro/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 44 | Def { [INFO] [stdout] | --- fields in this variant [INFO] [stdout] 45 | name: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] 46 | typ: Rc, [INFO] [stdout] | ^^^ [INFO] [stdout] 47 | body: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | typ_pretty: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 49 | body_pretty: String, [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: fields `0` and `2` are never read [INFO] [stdout] --> src/L11_macro/mod.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | Println(Rc, String, Span<()>), [INFO] [stdout] | ------- ^^^^^^ ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [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] 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] 51 - Println(Rc, String, Span<()>), [INFO] [stdout] 51 + Println((), String, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_err` is never used [INFO] [stdout] --> src/L11_macro/mod.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 233 | impl IError { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 234 | pub fn to_err(self) -> Error { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L11_macro/parser/mod.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | Expect(TokenKind), [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErrMsg` 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] 18 - Expect(TokenKind), [INFO] [stdout] 18 + Expect(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip_until_inner` is never used [INFO] [stdout] --> src/L11_macro/parser/mod.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn skip_until_inner<'a: 'b, 'b>(kind: TokenKind) -> impl Fn(&'b [TokenNode<'a>]) -> &'b [TokenNode<'a>] + Copy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prefix_binding_power` is never used [INFO] [stdout] --> src/L11_macro/parser/mod.rs:418:4 [INFO] [stdout] | [INFO] [stdout] 418 | fn prefix_binding_power(op: &Span) -> ((), u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parser_test` is never used [INFO] [stdout] --> src/L11_macro/parser/mod.rs:1315:8 [INFO] [stdout] | [INFO] [stdout] 1315 | pub fn parser_test(input: &str, id: u32) -> Option<(Vec, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Eof` is never constructed [INFO] [stdout] --> src/L11_macro/parser/lex.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 48 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepetitionOp` is never used [INFO] [stdout] --> src/L11_macro/parser/macros.rs:102:10 [INFO] [stdout] | [INFO] [stdout] 102 | pub enum RepetitionOp { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Var` is never used [INFO] [stdout] --> src/L11_macro/pattern_match.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L11_macro/pattern_match.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | 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] 21 - Unreachable(Raw), [INFO] [stdout] 21 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L11_macro/pattern_match.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | 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] 22 - Unmatched(Pattern), [INFO] [stdout] 22 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seed` is never read [INFO] [stdout] --> src/L11_macro/pattern_match.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct Compiler { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | seed: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fresh` is never used [INFO] [stdout] --> src/L11_macro/pattern_match.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 72 | impl Compiler { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | fn fresh(&mut self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_at` and `update_by_cxt` are never used [INFO] [stdout] --> src/L11_macro/syntax.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Locals { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 15 | pub fn update_at(&self, x: usize, v: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn update_by_cxt(&self, infer: &Infer, decl: &Decl, lvl: Lvl, cxt: &List>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Fn` and `Trait` are never constructed [INFO] [stdout] --> src/L11_macro/typeclass.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum Typ { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Fn(Box, Box), [INFO] [stdout] | ^^ [INFO] [stdout] 15 | Trait(Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Typ` 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: associated function `new` is never used [INFO] [stdout] --> src/L11_macro/typeclass.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Synth { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 137 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ShowS` is never used [INFO] [stdout] --> src/L11_macro/pretty.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type ShowS = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/L12_canonical/mod.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | Solved(Rc, Rc), [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MetaEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 - Solved(Rc, Rc), [INFO] [stdout] 31 + Solved(Rc, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L12_canonical/mod.rs:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_decl_name` is never used [INFO] [stdout] --> src/L12_canonical/mod.rs:285:4 [INFO] [stdout] | [INFO] [stdout] 285 | fn extract_decl_name(tm: &Tm) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_app_args` is never used [INFO] [stdout] --> src/L12_canonical/mod.rs:293:4 [INFO] [stdout] | [INFO] [stdout] 293 | fn collect_app_args(tm: &Tm) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip_until_inner` is never used [INFO] [stdout] --> src/L12_canonical/parser/mod.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn skip_until_inner<'a: 'b, 'b>(kind: TokenKind) -> impl Fn(&'b [TokenNode<'a>]) -> &'b [TokenNode<'a>] + Copy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prefix_binding_power` is never used [INFO] [stdout] --> src/L12_canonical/parser/mod.rs:465:4 [INFO] [stdout] | [INFO] [stdout] 465 | fn prefix_binding_power(op: &Span) -> ((), u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Var` is never used [INFO] [stdout] --> src/L12_canonical/pattern_match.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L12_canonical/pattern_match.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | 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] 23 - Unreachable(Raw), [INFO] [stdout] 23 + Unreachable(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/L12_canonical/pattern_match.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | 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] 24 - Unmatched(Pattern), [INFO] [stdout] 24 + Unmatched(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/L12_canonical/typeclass.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl Synth { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BD` is never used [INFO] [stdout] --> src/L13_namespace/mod.rs:48:6 [INFO] [stdout] | [INFO] [stdout] 48 | enum BD { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `list_other_nodes`, `smolstr_unique`, and `smolstr_heap_est` are never read [INFO] [stdout] --> src/L13_namespace/mod.rs:419:5 [INFO] [stdout] | [INFO] [stdout] 411 | struct DetailCounts { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 419 | list_other_nodes: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 420 | smolstr_unique: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 421 | smolstr_heap_est: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `walk_tm` and `count_smolstr` are never used [INFO] [stdout] --> src/L13_namespace/mod.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 427 | impl DetailCounts { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 500 | fn walk_tm(&mut self, tm: &Rc, visited: &mut std::collections::HashSet) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | fn count_smolstr(&mut self, s: &SmolStr, visited: &mut std::collections::HashSet) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_multi_into_test` is never used [INFO] [stdout] --> src/L13_namespace/mod.rs:2898:4 [INFO] [stdout] | [INFO] [stdout] 2898 | fn run_multi_into_test(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mk_multi_into_test` is never used [INFO] [stdout] --> src/L13_namespace/mod.rs:2909:4 [INFO] [stdout] | [INFO] [stdout] 2909 | fn mk_multi_into_test(extra: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tm_lam` is never used [INFO] [stdout] --> src/L13_namespace/cxt.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | pub(super) fn tm_lam(names: &[&str], inner: Rc) -> Rc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip_until_inner` is never used [INFO] [stdout] --> src/L13_namespace/parser/mod.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn skip_until_inner<'a: 'b, 'b>(kind: TokenKind) -> impl Fn(&'b [TokenNode<'a>]) -> &'b [TokenNode<'a>] + Copy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Var` is never used [INFO] [stdout] --> src/L13_namespace/pattern_match.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Var = i32; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `goal`, `instances`, `index`, and `assertion_idx` are never read [INFO] [stdout] --> src/L13_namespace/typeclass.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct GeneratorNode { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 31 | goal: Assertion, [INFO] [stdout] | ^^^^ [INFO] [stdout] 32 | instances: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 34 | assertion_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeneratorNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `goal`, `subgoals`, `lvl`, and `assertion_idx` are never read [INFO] [stdout] --> src/L13_namespace/typeclass.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct ConsumerNode { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 41 | goal: Assertion, [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | subgoals: List, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 43 | lvl: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | assertion_idx: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsumerNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Root` and `ConsumerNode` are never constructed [INFO] [stdout] --> src/L13_namespace/typeclass.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub enum Waiter { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 56 | Root, [INFO] [stdout] | ^^^^ [INFO] [stdout] 57 | ConsumerNode(ConsumerNode), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Waiter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `waiters` is never read [INFO] [stdout] --> src/L13_namespace/typeclass.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct TableEntry { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 73 | pub waiters: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_answer` is never read [INFO] [stdout] --> src/L13_namespace/typeclass.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct Synth { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | pub root_answer: Option>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Synth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `uncons` is never used [INFO] [stdout] --> src/L13_namespace/typeclass.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn uncons(xs: &List) -> Option<(T, List)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/L13_namespace/typeclass.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Synth { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 128 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn clean(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn try_answer(&mut self, subgoal: &Assertion, answer: &Assertion) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | fn try_resolve( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | fn find_assertion_entry(&self, target: &Assertion) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | pub fn synth(&mut self, assertion: Assertion) -> Option> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | fn new_subgoal(&mut self, subgoal: &Assertion, waiter: &Waiter) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 470 | fn consume(&mut self, consumer_node: ConsumerNode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L01_eval` should have a snake case name [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | mod L01_eval; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l01_eval` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L02_tyck` should have a snake case name [INFO] [stdout] --> src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | 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/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | 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/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | 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/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | 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/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | 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/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | mod L07_sum_type; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `l07_sum_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L07a_depend_pm` should have a snake case name [INFO] [stdout] --> src/lib.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | mod L07a_depend_pm; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l07a_depend_pm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L08_product_type` should have a snake case name [INFO] [stdout] --> src/lib.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | mod L08_product_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `l08_product_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L09_mltt` should have a snake case name [INFO] [stdout] --> src/lib.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | mod L09_mltt; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `l09_mltt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L10_typeclass` should have a snake case name [INFO] [stdout] --> src/lib.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | mod L10_typeclass; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `l10_typeclass` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L11_macro` should have a snake case name [INFO] [stdout] --> src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | mod L11_macro; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `l11_macro` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L12_canonical` should have a snake case name [INFO] [stdout] --> src/lib.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub mod L12_canonical; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `l12_canonical` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `L13_namespace` should have a snake case name [INFO] [stdout] --> src/lib.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub mod L13_namespace; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `l13_namespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&smol_str::SmolStr` instead of cloning the inner type [INFO] [stdout] --> src/L12_canonical/elaboration.rs:995:36 [INFO] [stdout] | [INFO] [stdout] 995 | ... name: x.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&smol_str::SmolStr` instead of cloning the inner type [INFO] [stdout] --> src/L12_canonical/elaboration.rs:1038:36 [INFO] [stdout] | [INFO] [stdout] 1038 | ... name: x.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MetaEntry_sz` should have a snake case name [INFO] [stdout] --> src/L13_namespace/mod.rs:699:13 [INFO] [stdout] | [INFO] [stdout] 699 | let MetaEntry_sz = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `meta_entry_sz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/L13_namespace/parser/mod.rs:1180:30 [INFO] [stdout] | [INFO] [stdout] 1180 | for items in clause { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 1180 - for items in clause { [INFO] [stdout] 1180 + while let Some(items) = clause { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 1180 - for items in clause { [INFO] [stdout] 1180 + if let Some(items) = clause { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: duplicated attribute [INFO] [stdout] --> tests/parser_error_tests.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | #[test] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(duplicate_macro_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decls` [INFO] [stdout] --> tests/parser_error_tests.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | let (decls, errors) = result.unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_decls` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `raws` [INFO] [stdout] --> tests/parser_error_tests.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | let (raws, errors) = result.unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_raws` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | let (decls, errors) = result.unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decls` [INFO] [stdout] --> tests/parser_error_tests.rs:215:14 [INFO] [stdout] | [INFO] [stdout] 215 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_decls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> tests/parser_error_tests.rs:236:13 [INFO] [stdout] | [INFO] [stdout] 236 | let input = r#" [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> tests/parser_error_tests.rs:248:13 [INFO] [stdout] | [INFO] [stdout] 248 | let input = r#" [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:373:13 [INFO] [stdout] | [INFO] [stdout] 373 | let errors = assert_raw_errors(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:697:21 [INFO] [stdout] | [INFO] [stdout] 697 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decls` [INFO] [stdout] --> tests/parser_error_tests.rs:916:14 [INFO] [stdout] | [INFO] [stdout] 916 | let (decls, errors) = result.unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_decls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decls` [INFO] [stdout] --> tests/parser_error_tests.rs:1075:14 [INFO] [stdout] | [INFO] [stdout] 1075 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_decls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:1075:21 [INFO] [stdout] | [INFO] [stdout] 1075 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:1238:21 [INFO] [stdout] | [INFO] [stdout] 1238 | let (decls, errors) = assert_parse_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:1302:20 [INFO] [stdout] | [INFO] [stdout] 1302 | let (raws, errors) = assert_raw_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `raws` [INFO] [stdout] --> tests/parser_error_tests.rs:1384:14 [INFO] [stdout] | [INFO] [stdout] 1384 | let (raws, errors) = assert_raw_ok(input); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_raws` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:1384:20 [INFO] [stdout] | [INFO] [stdout] 1384 | let (raws, errors) = assert_raw_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `raws` [INFO] [stdout] --> tests/parser_error_tests.rs:1393:14 [INFO] [stdout] | [INFO] [stdout] 1393 | let (raws, errors) = assert_raw_ok(input); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_raws` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> tests/parser_error_tests.rs:1393:20 [INFO] [stdout] | [INFO] [stdout] 1393 | let (raws, errors) = assert_raw_ok(input); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/L13_namespace/parser/mod.rs:1959:13 [INFO] [stdout] | [INFO] [stdout] 1959 | Err(e) => Ok((input, vec![])), // No attribute found, not an error [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/L13_namespace/unification.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | let mut solution = self.eval(decl, &List::new(), &self.lams(pren.dom, decl, &mty, rhs)); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cxt` [INFO] [stdout] --> src/L13_namespace/unification.rs:456:41 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar, allow_flex_defaulting: bool) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cxt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/L13_namespace/typeclass.rs:319:33 [INFO] [stdout] | [INFO] [stdout] 319 | (Val::Match(a1, b1, c1), Val::Match(a2, b2, c2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/L13_namespace/typeclass.rs:319:57 [INFO] [stdout] | [INFO] [stdout] 319 | (Val::Match(a1, b1, c1), Val::Match(a2, b2, c2)) => { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/L13_namespace/pretty.rs:182:28 [INFO] [stdout] | [INFO] [stdout] 182 | Tm::Sum(span, tms, items, _) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_trait` [INFO] [stdout] --> src/L13_namespace/pretty.rs:208:23 [INFO] [stdout] | [INFO] [stdout] 208 | Tm::SumCase { is_trait, typ, case_name, datas: params } => format!( [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `is_trait: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/canonical.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | while let Val::Pi(span, icit, dom, clos) = vt.as_ref() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:442:22 [INFO] [stdout] | [INFO] [stdout] 442 | Val::Lam(name, _, clos) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:447:21 [INFO] [stdout] | [INFO] [stdout] 447 | Val::Pi(name, _, vty, clos) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/L13_namespace/mod.rs:455:31 [INFO] [stdout] | [INFO] [stdout] 455 | Val::LiteralIntro(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:458:22 [INFO] [stdout] | [INFO] [stdout] 458 | Val::Sum(name, params, cases, _) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/L13_namespace/mod.rs:460:22 [INFO] [stdout] | [INFO] [stdout] 460 | for (pname, pval, pvty, _) in params.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cname` [INFO] [stdout] --> src/L13_namespace/mod.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | for cname in cases.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_name` [INFO] [stdout] --> src/L13_namespace/mod.rs:469:33 [INFO] [stdout] | [INFO] [stdout] 469 | Val::SumCase { typ, case_name, datas, .. } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `case_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dname` [INFO] [stdout] --> src/L13_namespace/mod.rs:472:22 [INFO] [stdout] | [INFO] [stdout] 472 | for (dname, dval, _) in datas.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/L13_namespace/mod.rs:480:22 [INFO] [stdout] | [INFO] [stdout] 480 | for (pat, tm) in cases { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:521:22 [INFO] [stdout] | [INFO] [stdout] 521 | Tm::Decl(name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:524:28 [INFO] [stdout] | [INFO] [stdout] 524 | Tm::Obj(inner, name) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:528:21 [INFO] [stdout] | [INFO] [stdout] 528 | Tm::Lam(name, _, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | Tm::Pi(name, _, ty_a, ty_b) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:545:21 [INFO] [stdout] | [INFO] [stdout] 545 | Tm::Let(name, ty, val, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/L13_namespace/mod.rs:556:21 [INFO] [stdout] | [INFO] [stdout] 556 | Tm::Sum(name, params, cases, _) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/L13_namespace/mod.rs:558:22 [INFO] [stdout] | [INFO] [stdout] 558 | for (pname, ptm, pty, _) in params.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cname` [INFO] [stdout] --> src/L13_namespace/mod.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | for cname in cases.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_name` [INFO] [stdout] --> src/L13_namespace/mod.rs:567:32 [INFO] [stdout] | [INFO] [stdout] 567 | Tm::SumCase { typ, case_name, datas, .. } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `case_name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dname` [INFO] [stdout] --> src/L13_namespace/mod.rs:570:22 [INFO] [stdout] | [INFO] [stdout] 570 | for (dname, dtm, _) in datas.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_dname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pat` [INFO] [stdout] --> src/L13_namespace/mod.rs:577:22 [INFO] [stdout] | [INFO] [stdout] 577 | for (pat, branch) in cases { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/mod.rs:594:18 [INFO] [stdout] | [INFO] [stdout] 594 | for (_, (span, rtm, rval, rty, rvty, _)) in cxt.decl.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/L13_namespace/mod.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | for (_, _, (span, vty)) in cxt.src_names.iter_all() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta_alloc` [INFO] [stdout] --> src/L13_namespace/mod.rs:854:13 [INFO] [stdout] | [INFO] [stdout] 854 | let meta_alloc = (std::mem::size_of::() + 16 + 7) & !7; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meta_alloc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/lib.rs:526:29 [INFO] [stdout] | [INFO] [stdout] 526 | let url = params.uri.clone(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resp` [INFO] [stdout] --> src/lib.rs:1174:35 [INFO] [stdout] | [INFO] [stdout] 1174 | Message::Response(resp) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_resp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1193:62 [INFO] [stdout] | [INFO] [stdout] 1193 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1200:62 [INFO] [stdout] | [INFO] [stdout] 1200 | ... Err(ExtractError::MethodMismatch(not)) =>(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1207:62 [INFO] [stdout] | [INFO] [stdout] 1207 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not` [INFO] [stdout] --> src/lib.rs:1214:62 [INFO] [stdout] | [INFO] [stdout] 1214 | ... Err(ExtractError::MethodMismatch(not)) => (), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_not` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::Infer::nf` [INFO] [stdout] --> src/L04_implicit/mod.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Tm` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::elaboration::::infer` [INFO] [stdout] --> src/L04_implicit/elaboration.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::env` [INFO] [stdout] --> src/L04_implicit/cxt.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::cxt::Cxt::lvl` [INFO] [stdout] --> src/L04_implicit/cxt.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub lvl: Lvl, // Used for unification [INFO] [stdout] | ^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::lvl` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::types` [INFO] [stdout] --> src/L04_implicit/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub types: Types, // Used for raw name lookup and pretty printing [INFO] [stdout] | ^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::BD` is more private than the item `L04_implicit::cxt::Cxt::bds` [INFO] [stdout] --> src/L04_implicit/cxt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub bds: List, // Used for fresh meta creation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ field `L04_implicit::cxt::Cxt::bds` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::BD` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum BD { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::bind` [INFO] [stdout] --> src/L04_implicit/cxt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bind(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L04_implicit/cxt.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new_binder(&self, x: Span, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::cxt::Cxt::define` [INFO] [stdout] --> src/L04_implicit/cxt.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn define(&self, x: Span, t: Val, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Lvl` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Lvl` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Lvl(u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::Val` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L04_implicit::UnifyError` is more private than the item `L04_implicit::unification::::unify` [INFO] [stdout] --> src/L04_implicit/unification.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L04_implicit::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L04_implicit::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L04_implicit/mod.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::Infer::nf` [INFO] [stdout] --> src/L05_pruning/mod.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | 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:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::elaboration::::infer` [INFO] [stdout] --> src/L05_pruning/elaboration.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn infer(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Val), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::env` [INFO] [stdout] --> src/L05_pruning/cxt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::src_names` [INFO] [stdout] --> src/L05_pruning/cxt.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub src_names: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L05_pruning::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::bind` [INFO] [stdout] --> src/L05_pruning/cxt.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn bind(&self, x: Span, a_quote: Tm, a: Val) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L05_pruning/cxt.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::cxt::Cxt::define` [INFO] [stdout] --> src/L05_pruning/cxt.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn define(&self, x: Span, t: Tm, vt: Val, a: Ty, va: VTy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Val` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::UnifyError` is more private than the item `L05_pruning::unification::::unify` [INFO] [stdout] --> src/L05_pruning/unification.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn unify(&mut self, l: Lvl, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L05_pruning::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Define::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Define::3` [INFO] [stdout] --> src/L05_pruning/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Define::3` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L05_pruning::Tm` is more private than the item `L05_pruning::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L05_pruning/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L05_pruning::syntax::Locals::Bind::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L05_pruning::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L05_pruning/mod.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::DeclTm::Println::0` [INFO] [stdout] --> src/L06_string/mod.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | Println(Tm), [INFO] [stdout] | ^^ field `L06_string::DeclTm::Println::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::Infer::nf` [INFO] [stdout] --> src/L06_string/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::Infer::nf` [INFO] [stdout] --> src/L06_string/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn nf(&self, env: &Env, t: Tm) -> Tm { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::Infer::nf` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer` [INFO] [stdout] --> src/L06_string/elaboration.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn infer(&mut self, cxt: &Cxt, t: Decl) -> Result<(DeclTm, Val, Cxt), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::elaboration::::infer_expr` [INFO] [stdout] --> src/L06_string/elaboration.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn infer_expr(&mut self, cxt: &Cxt, t: Raw) -> Result<(Tm, Rc), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::elaboration::::infer_expr` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::env` [INFO] [stdout] --> src/L06_string/cxt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub env: Env, // Used for evaluation [INFO] [stdout] | ^^^^^^^^^^^^ field `L06_string::cxt::Cxt::env` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::src_names` [INFO] [stdout] --> src/L06_string/cxt.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub src_names: HashMap)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `L06_string::cxt::Cxt::src_names` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::bind` [INFO] [stdout] --> src/L06_string/cxt.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn bind(&self, x: Span, a_quote: Tm, a: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::bind` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::new_binder` [INFO] [stdout] --> src/L06_string/cxt.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new_binder(&self, x: Span, a_quote: Tm) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::new_binder` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::cxt::Cxt::define` [INFO] [stdout] --> src/L06_string/cxt.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Rc, a: Ty, va: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::cxt::Cxt::define` [INFO] [stdout] --> src/L06_string/cxt.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn define(&self, x: Span, t: Tm, vt: Rc, a: Ty, va: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::cxt::Cxt::define` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Val` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn unify(&mut self, l: Lvl, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L06_string::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Val` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | enum Val { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::UnifyError` is more private than the item `L06_string::unification::::unify` [INFO] [stdout] --> src/L06_string/unification.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn unify(&mut self, l: Lvl, t: &Rc, u: &Rc) -> 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:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::2` [INFO] [stdout] --> src/L06_string/syntax.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Define::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Define::3` [INFO] [stdout] --> src/L06_string/syntax.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | Define(Box, Span, Ty, Tm), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Define::3` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L06_string::Tm` is more private than the item `L06_string::syntax::Locals::Bind::2` [INFO] [stdout] --> src/L06_string/syntax.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | Bind(Box, Span, Ty), [INFO] [stdout] | ^^ field `L06_string::syntax::Locals::Bind::2` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L06_string::Tm` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L06_string/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | enum Tm { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07_sum_type::UnifyError` is more private than the item `L07_sum_type::unification::::unify` [INFO] [stdout] --> src/L07_sum_type/unification.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07_sum_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07_sum_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07_sum_type/mod.rs:171:1 [INFO] [stdout] | [INFO] [stdout] 171 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L07a_depend_pm::UnifyError` is more private than the item `L07a_depend_pm::unification::::unify` [INFO] [stdout] --> src/L07a_depend_pm/unification.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L07a_depend_pm::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L07a_depend_pm::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L07a_depend_pm/mod.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L08_product_type::UnifyError` is more private than the item `L08_product_type::unification::::unify` [INFO] [stdout] --> src/L08_product_type/unification.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L08_product_type::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L08_product_type::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L08_product_type/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::invert` [INFO] [stdout] --> src/L09_mltt/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L09_mltt::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::prune_ty` [INFO] [stdout] --> src/L09_mltt/unification.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn prune_ty(&mut self, pr: &Pruning, a: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::rename` [INFO] [stdout] --> src/L09_mltt/unification.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn rename(&mut self, pren: &PartialRenaming, t: Val) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L09_mltt::UnifyError` is more private than the item `L09_mltt::unification::::unify` [INFO] [stdout] --> src/L09_mltt/unification.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: Val, u: Val) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L09_mltt::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L09_mltt::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L09_mltt/mod.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | struct UnifyError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::invert` [INFO] [stdout] --> src/L10_typeclass/unification.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn invert( [INFO] [stdout] 74 | | &self, [INFO] [stdout] 75 | | gamma: Lvl, [INFO] [stdout] 76 | | sp: &Spine, [INFO] [stdout] 77 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L10_typeclass::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::prune_ty` [INFO] [stdout] --> src/L10_typeclass/unification.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn prune_ty(&mut self, pr: &Pruning, a: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::rename` [INFO] [stdout] --> src/L10_typeclass/unification.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn rename(&mut self, pren: &PartialRenaming, t: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::solve_multi_trait` [INFO] [stdout] --> src/L10_typeclass/unification.rs:420:5 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::solve_multi_trait` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L10_typeclass::UnifyError` is more private than the item `L10_typeclass::unification::::unify` [INFO] [stdout] --> src/L10_typeclass/unification.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L10_typeclass::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L10_typeclass::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L10_typeclass/mod.rs:185:1 [INFO] [stdout] | [INFO] [stdout] 185 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::invert` [INFO] [stdout] --> src/L11_macro/unification.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / pub fn invert( [INFO] [stdout] 75 | | &self, [INFO] [stdout] 76 | | gamma: Lvl, [INFO] [stdout] 77 | | decl: &Decl, [INFO] [stdout] 78 | | sp: &Spine, [INFO] [stdout] 79 | | ) -> Result<(PartialRenaming, Option), UnifyError> { [INFO] [stdout] | |_______________________________________________________________^ method `L11_macro::unification::::invert` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::prune_ty` [INFO] [stdout] --> src/L11_macro/unification.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn prune_ty(&mut self, decl: &Decl, pr: &Pruning, a: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::prune_ty` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::rename` [INFO] [stdout] --> src/L11_macro/unification.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn rename(&mut self, decl: &Decl, pren: &PartialRenaming, t: &Rc) -> Result, UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::rename` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::solve_multi_trait` [INFO] [stdout] --> src/L11_macro/unification.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 441 | pub fn solve_multi_trait(&mut self, cxt: &Cxt, m: MetaVar) -> Result<(), UnifyError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::solve_multi_trait` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `L11_macro::UnifyError` is more private than the item `L11_macro::unification::::unify` [INFO] [stdout] --> src/L11_macro/unification.rs:607:5 [INFO] [stdout] | [INFO] [stdout] 607 | pub fn unify(&mut self, l: Lvl, cxt: &Cxt, t: &Rc, u: &Rc) -> Result<(), UnifyError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `L11_macro::unification::::unify` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `L11_macro::UnifyError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/L11_macro/mod.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | enum UnifyError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `severity`, `range`, `path_id`, and `msg` are never read [INFO] [stdout] --> src/parser_lib.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct Diagnostic { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 132 | severity: Severity, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 133 | range: (u32, u32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 134 | path_id: PathId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 135 | msg: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Diagnostic` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib.rs:295:10 [INFO] [stdout] | [INFO] [stdout] 295 | pub enum Maybe { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used [INFO] [stdout] --> src/parser_lib.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 311 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 312 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | 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:342:12 [INFO] [stdout] | [INFO] [stdout] 341 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 342 | 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:362:8 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn maybe<'a: 'b, 'b, T, P, N: 'a + Copy, E: Copy>( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pmatch_empty` is never used [INFO] [stdout] --> src/parser_lib.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | pub fn pmatch_empty<'a, P: Pattern + Copy>(pat: P) -> impl Parser, Span<&'a str>> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib.rs:442:11 [INFO] [stdout] | [INFO] [stdout] 442 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Input` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:278:10 [INFO] [stdout] | [INFO] [stdout] 278 | pub type Input<'a> = Span<&'a str>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Maybe` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:281:10 [INFO] [stdout] | [INFO] [stdout] 281 | pub enum Maybe { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map`, `and_then`, and `unwrap_or_else` are never used [INFO] [stdout] --> src/parser_lib_resilient.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 297 | impl Maybe { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 298 | pub fn map(self, mut f: F) -> Maybe [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn and_then(self, f: F) -> Maybe [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | 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_resilient.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl Maybe { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 328 | pub fn raise_err(self, err: &mut Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AstDebug` is never used [INFO] [stdout] --> src/parser_lib_resilient.rs:408:11 [INFO] [stdout] | [INFO] [stdout] 408 | pub trait AstDebug { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Str` and `Eof` are never constructed [INFO] [stdout] --> src/L01_eval/parser/lex.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Str, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | Eof, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TokenNode` is never used [INFO] [stdout] --> src/L01_eval/parser/lex.rs:86:10 [INFO] [stdout] | [WARN] too many lines in the log, truncating it