[INFO] cloning repository https://github.com/montaglue/Lambda-Rubiks-Cube
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/montaglue/Lambda-Rubiks-Cube" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmontaglue%2FLambda-Rubiks-Cube", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmontaglue%2FLambda-Rubiks-Cube'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 437e4ca9404ca63c3906fee446610eede95e89c5
[INFO] checking montaglue/Lambda-Rubiks-Cube against nightly-2024-02-05 for check-cfg-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmontaglue%2FLambda-Rubiks-Cube" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/montaglue/Lambda-Rubiks-Cube on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/montaglue/Lambda-Rubiks-Cube
[INFO] finished tweaking git repo https://github.com/montaglue/Lambda-Rubiks-Cube
[INFO] tweaked toml for git repo https://github.com/montaglue/Lambda-Rubiks-Cube written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/montaglue/Lambda-Rubiks-Cube 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" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1fdefe3f78b0d3f72c77bb82d6945772789257ef746532de15eea63f0f5ff1bb
[INFO] running `Command { std: "docker" "start" "-a" "1fdefe3f78b0d3f72c77bb82d6945772789257ef746532de15eea63f0f5ff1bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1fdefe3f78b0d3f72c77bb82d6945772789257ef746532de15eea63f0f5ff1bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fdefe3f78b0d3f72c77bb82d6945772789257ef746532de15eea63f0f5ff1bb", kill_on_drop: false }`
[INFO] [stdout] 1fdefe3f78b0d3f72c77bb82d6945772789257ef746532de15eea63f0f5ff1bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b625c459f39b3fecdf501f0ec5781b1943bfaca148ec03c05cdefce32f14cbf3
[INFO] running `Command { std: "docker" "start" "-a" "b625c459f39b3fecdf501f0ec5781b1943bfaca148ec03c05cdefce32f14cbf3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.101
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling string_cache v0.8.1
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling lalrpop v0.19.6
[INFO] [stderr]    Compiling Lambda-Rubiks-Cube v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/typechecker/mod.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |         RawTerm::Lam(body) => todo!(),
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/typechecker/mod.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |         RawTerm::Pair(f, s) => todo!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/typechecker/mod.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |         RawTerm::Pair(f, s) => todo!(),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParserError`, `EvaluationError`, `TypingError`, and `Undefined` are never constructed
[INFO] [stdout]   --> src/error/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub enum CompilerError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 9  |     ParserError(ParseError<usize, (usize, String), String>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     EvaluationError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     TypingError(Rc<Value>, Rc<Value>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Global` and `Local` are never constructed
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum EName {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 43 |     Global(Rc<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     Local(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl EName {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     pub fn eval(&self) -> VName {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subst` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl ExtendedTerm {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 57 |     pub fn subst(&self, sub: Rc<ExtendedTerm>, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `universe` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub(crate) fn universe() -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `typ` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub(crate) fn typ(te: Rc<ExtendedTerm>, ty: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pi` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub(crate) fn pi(arg_type: Rc<ExtendedTerm>, res_type: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lam` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub(crate) fn lam(body: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `app` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub(crate) fn app(fun: Rc<ExtendedTerm>, arg: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `si` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub(crate) fn si(f: Rc<ExtendedTerm>, s: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub(crate) fn pair(f: Rc<ExtendedTerm>, s: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `proj` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub(crate) fn proj(t: Rc<ExtendedTerm>, p: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub(crate) fn bounded(ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn free(n: EName) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/interpreter/evaluation.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn eval(term: &ExtendedTerm, env: Rc<List<Rc<Value>>>) -> Rc<Value> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Universe`, `Lam`, `Pi`, `Si`, `Pair`, and `Neutral` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 14 |     Universe,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 15 |     Lam(Closure),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     Pi(Rc<Value>, Closure),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 17 |     Si(Rc<Value>, Closure),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 18 |     Pair(Rc<Value>, Rc<Value>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     Neutral(Rc<Neutral>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Free`, `Pair`, and `App` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Neutral {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 24 |     Free(VName),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     Pair(Rc<Neutral>, usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     App(Rc<Neutral>, Rc<Value>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Neutral` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quote`, `Global`, and `Local` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum VName {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 31 |     Quote(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     Global(Rc<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     Local(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `apply` are never used
[INFO] [stdout]   --> src/interpreter/value.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Closure {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(term: Rc<ExtendedTerm>, env: Rc<List<Rc<Value>>>) -> Closure {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn apply(&self, x: Rc<Value>) -> Rc<Value> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quote` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 53 |     pub fn quote(&self, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quote` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Neutral {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 78 |     pub fn quote(&self, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_eq` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 92 |     pub fn is_eq(&self, another: Rc<Value>) -> Result<(), ()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_universe` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn v_universe() -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_lam` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub(crate) fn v_lam(c: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_pi` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) fn v_pi(arg_type: Rc<Value>, res_type: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_si` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:119:19
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub(crate) fn v_si(first_type: Rc<Value>, second_type: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_pair` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn v_pair(first: Rc<Value>, second: Rc<Value>) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_neutral` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub(crate) fn v_neutral(n: Rc<Neutral>) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_free` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub(crate) fn n_free(n: VName) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_pair` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub(crate) fn n_pair(t: Rc<Neutral>, p: usize) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_app` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub(crate) fn n_app(fun: Rc<Neutral>, arg: Rc<Value>) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]  --> src/parse/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn parse(s: &str) -> Result<Rc<Term>, CompilerError> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eliminate_type` is never used
[INFO] [stdout]   --> src/typechecker/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn eliminate_type(term: &ExtendedTerm, ctx: TypeContext) -> Result<Rc<Value>, ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_type` is never used
[INFO] [stdout]   --> src/typechecker/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn check_type(term: &ExtendedTerm, ty: Rc<Value>, ctx: TypeContext) -> Result<(), ()> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ctx` and `n_binders` are never read
[INFO] [stdout]   --> src/typechecker/type_context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct TypeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 10 |     ctx: Rc<List<(EName, Rc<Value>)>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     n_binders: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_decl`, `lookup_ty`, `push_binder`, and `get_fresh` are never used
[INFO] [stdout]   --> src/typechecker/type_context.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TypeContext {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn push_decl(&self, n: EName, ty: Rc<Value>) -> TypeContext {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn lookup_ty(&self, n: &EName) -> Option<Rc<Value>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn push_binder(&self) -> TypeContext {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_fresh(&self) -> (EName, TypeContext) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed
[INFO] [stdout]  --> src/utils/list.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum List<T> {
[INFO] [stdout]   |          ---- variants in this enum
[INFO] [stdout] 5 |     Cons(T, Rc<List<T>>),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     Nil,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]   --> src/utils/list.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Rc<List<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn get(&self, ind: usize) -> &T {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_ty` is never used
[INFO] [stdout]   --> src/utils/list.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<A: Eq, B> List<(A, B)> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 29 |     pub fn lookup_ty(&self, key: &A) -> Option<&B> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Lambda_Rubiks_Cube` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `lambda_rubiks_cube`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/typechecker/mod.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |         RawTerm::Lam(body) => todo!(),
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/typechecker/mod.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |         RawTerm::Pair(f, s) => todo!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/typechecker/mod.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |         RawTerm::Pair(f, s) => todo!(),
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ParserError`, `EvaluationError`, `TypingError`, and `Undefined` are never constructed
[INFO] [stdout]   --> src/error/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub enum CompilerError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 9  |     ParserError(ParseError<usize, (usize, String), String>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     EvaluationError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     TypingError(Rc<Value>, Rc<Value>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Undefined,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompilerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Global` and `Local` are never constructed
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum EName {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 43 |     Global(Rc<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     Local(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eval` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl EName {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     pub fn eval(&self) -> VName {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subst` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl ExtendedTerm {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 57 |     pub fn subst(&self, sub: Rc<ExtendedTerm>, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `universe` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub(crate) fn universe() -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `typ` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub(crate) fn typ(te: Rc<ExtendedTerm>, ty: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pi` is never used
[INFO] [stdout]   --> src/interior_representation/abstract_syntax_tree.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub(crate) fn pi(arg_type: Rc<ExtendedTerm>, res_type: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lam` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub(crate) fn lam(body: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `app` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub(crate) fn app(fun: Rc<ExtendedTerm>, arg: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `si` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub(crate) fn si(f: Rc<ExtendedTerm>, s: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:112:19
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub(crate) fn pair(f: Rc<ExtendedTerm>, s: Rc<ExtendedTerm>) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `proj` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub(crate) fn proj(t: Rc<ExtendedTerm>, p: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub(crate) fn bounded(ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free` is never used
[INFO] [stdout]    --> src/interior_representation/abstract_syntax_tree.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub(crate) fn free(n: EName) -> Rc<ExtendedTerm> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/interpreter/evaluation.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn eval(term: &ExtendedTerm, env: Rc<List<Rc<Value>>>) -> Rc<Value> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Universe`, `Lam`, `Pi`, `Si`, `Pair`, and `Neutral` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 14 |     Universe,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 15 |     Lam(Closure),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     Pi(Rc<Value>, Closure),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 17 |     Si(Rc<Value>, Closure),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 18 |     Pair(Rc<Value>, Rc<Value>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     Neutral(Rc<Neutral>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Free`, `Pair`, and `App` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Neutral {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 24 |     Free(VName),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     Pair(Rc<Neutral>, usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     App(Rc<Neutral>, Rc<Value>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Neutral` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quote`, `Global`, and `Local` are never constructed
[INFO] [stdout]   --> src/interpreter/value.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum VName {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 31 |     Quote(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     Global(Rc<String>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     Local(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VName` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `apply` are never used
[INFO] [stdout]   --> src/interpreter/value.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Closure {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(term: Rc<ExtendedTerm>, env: Rc<List<Rc<Value>>>) -> Closure {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn apply(&self, x: Rc<Value>) -> Rc<Value> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quote` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 53 |     pub fn quote(&self, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quote` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Neutral {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 78 |     pub fn quote(&self, ind: usize) -> Rc<ExtendedTerm> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_eq` is never used
[INFO] [stdout]   --> src/interpreter/value.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 92 |     pub fn is_eq(&self, another: Rc<Value>) -> Result<(), ()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_universe` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub(crate) fn v_universe() -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_lam` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub(crate) fn v_lam(c: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_pi` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) fn v_pi(arg_type: Rc<Value>, res_type: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_si` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:119:19
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub(crate) fn v_si(first_type: Rc<Value>, second_type: Closure) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_pair` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub(crate) fn v_pair(first: Rc<Value>, second: Rc<Value>) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v_neutral` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub(crate) fn v_neutral(n: Rc<Neutral>) -> Rc<Value> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_free` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub(crate) fn n_free(n: VName) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_pair` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub(crate) fn n_pair(t: Rc<Neutral>, p: usize) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_app` is never used
[INFO] [stdout]    --> src/interpreter/value.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub(crate) fn n_app(fun: Rc<Neutral>, arg: Rc<Value>) -> Rc<Neutral> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]  --> src/parse/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn parse(s: &str) -> Result<Rc<Term>, CompilerError> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eliminate_type` is never used
[INFO] [stdout]   --> src/typechecker/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn eliminate_type(term: &ExtendedTerm, ctx: TypeContext) -> Result<Rc<Value>, ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_type` is never used
[INFO] [stdout]   --> src/typechecker/mod.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn check_type(term: &ExtendedTerm, ty: Rc<Value>, ctx: TypeContext) -> Result<(), ()> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ctx` and `n_binders` are never read
[INFO] [stdout]   --> src/typechecker/type_context.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct TypeContext {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 10 |     ctx: Rc<List<(EName, Rc<Value>)>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 11 |     n_binders: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_decl`, `lookup_ty`, `push_binder`, and `get_fresh` are never used
[INFO] [stdout]   --> src/typechecker/type_context.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TypeContext {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 15 |     pub fn push_decl(&self, n: EName, ty: Rc<Value>) -> TypeContext {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn lookup_ty(&self, n: &EName) -> Option<Rc<Value>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn push_binder(&self) -> TypeContext {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_fresh(&self) -> (EName, TypeContext) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Cons` and `Nil` are never constructed
[INFO] [stdout]  --> src/utils/list.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum List<T> {
[INFO] [stdout]   |          ---- variants in this enum
[INFO] [stdout] 5 |     Cons(T, Rc<List<T>>),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     Nil,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]   --> src/utils/list.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Rc<List<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn get(&self, ind: usize) -> &T {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_ty` is never used
[INFO] [stdout]   --> src/utils/list.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<A: Eq, B> List<(A, B)> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 29 |     pub fn lookup_ty(&self, key: &A) -> Option<&B> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Lambda_Rubiks_Cube` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `lambda_rubiks_cube`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 43 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 18.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.6
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "b625c459f39b3fecdf501f0ec5781b1943bfaca148ec03c05cdefce32f14cbf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b625c459f39b3fecdf501f0ec5781b1943bfaca148ec03c05cdefce32f14cbf3", kill_on_drop: false }`
[INFO] [stdout] b625c459f39b3fecdf501f0ec5781b1943bfaca148ec03c05cdefce32f14cbf3
