[INFO] cloning repository https://github.com/conorpo/lof
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/conorpo/lof" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconorpo%2Flof", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconorpo%2Flof'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7581261184c47d149d570a451e00fb56aad66027
[INFO] checking conorpo/lof against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconorpo%2Flof" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/conorpo/lof
[INFO] finished tweaking git repo https://github.com/conorpo/lof
[INFO] tweaked toml for git repo https://github.com/conorpo/lof written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/conorpo/lof on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/conorpo/lof 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a354a9efcb0dab7c8f136046d2a171a7232682220ddc23c1101102663f4e657
[INFO] running `Command { std: "docker" "start" "-a" "9a354a9efcb0dab7c8f136046d2a171a7232682220ddc23c1101102663f4e657", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a354a9efcb0dab7c8f136046d2a171a7232682220ddc23c1101102663f4e657", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a354a9efcb0dab7c8f136046d2a171a7232682220ddc23c1101102663f4e657", kill_on_drop: false }`
[INFO] [stdout] 9a354a9efcb0dab7c8f136046d2a171a7232682220ddc23c1101102663f4e657
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebb1a9a1c8732fe9c1fd968c770d00fdb0cc60c1970f08020f76537a001a9561
[INFO] running `Command { std: "docker" "start" "-a" "ebb1a9a1c8732fe9c1fd968c770d00fdb0cc60c1970f08020f76537a001a9561", kill_on_drop: false }`
[INFO] [stderr]     Checking lof v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |             TermInf::App(Inf(g), x) => {
[INFO] [stdout]     |                          ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Pair` in this scope
[INFO] [stdout]    --> src/core.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             Pair(a,b) => {
[INFO] [stdout]     |             ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Pair;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Sig` in this scope
[INFO] [stdout]    --> src/core.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 let Sig(index, type_family) = t else { panic!("Pair can only be checked against a Sig type.")};
[INFO] [stdout]     |                     ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermInf::Sig;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:243:17
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 Inf(Box::new(other)).infer_type(context).is_judgementally_equal(t)
[INFO] [stdout]     |                 ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:273:29
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn U(idx: usize) -> Inf {
[INFO] [stdout]     |                             ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 273 -     pub fn U(idx: usize) -> Inf {
[INFO] [stdout] 273 +     pub fn U(idx: usize) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         Inf(Box::new(TermInf::U(idx)))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:277:31
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn Var(idx: usize) -> Inf {
[INFO] [stdout]     |                               ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 277 -     pub fn Var(idx: usize) -> Inf {
[INFO] [stdout] 277 +     pub fn Var(idx: usize) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         Inf(Box::new(TermInf::Var(idx)))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |                   ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 281 -     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout] 281 +     pub fn App(a: crate::core::TermChk, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:281:55
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 281 -     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout] 281 +     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         Inf(Box::new(TermInf::App(a, b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:285:68
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout]     |                                                                    ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 285 -     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout] 285 +     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:289:69
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout]     |                                                                     ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 289 -     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout] 289 +     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/core.rs:4:55
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{ collections::VecDeque, fmt::{self, Write}, rc::Rc};
[INFO] [stdout]   |                                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |             TermInf::App(Inf(g), x) => {
[INFO] [stdout]     |                          ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Pair` in this scope
[INFO] [stdout]    --> src/core.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             Pair(a,b) => {
[INFO] [stdout]     |             ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Pair;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Sig` in this scope
[INFO] [stdout]    --> src/core.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |                 let Sig(index, type_family) = t else { panic!("Pair can only be checked against a Sig type.")};
[INFO] [stdout]     |                     ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermInf::Sig;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:243:17
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 Inf(Box::new(other)).infer_type(context).is_judgementally_equal(t)
[INFO] [stdout]     |                 ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout]   3 + use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:273:29
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn U(idx: usize) -> Inf {
[INFO] [stdout]     |                             ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 273 -     pub fn U(idx: usize) -> Inf {
[INFO] [stdout] 273 +     pub fn U(idx: usize) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         Inf(Box::new(TermInf::U(idx)))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:277:31
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn Var(idx: usize) -> Inf {
[INFO] [stdout]     |                               ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 277 -     pub fn Var(idx: usize) -> Inf {
[INFO] [stdout] 277 +     pub fn Var(idx: usize) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         Inf(Box::new(TermInf::Var(idx)))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |                   ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 281 -     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout] 281 +     pub fn App(a: crate::core::TermChk, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:281:55
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 281 -     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> Inf {
[INFO] [stdout] 281 +     pub fn App(a: Inf, b: impl Into<Box<TermInf>>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         Inf(Box::new(TermInf::App(a, b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:285:68
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout]     |                                                                    ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 285 -     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout] 285 +     pub fn Pi(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:289:69
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout]     |                                                                     ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::core::TermChk::Inf`; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 289 -     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> Inf {
[INFO] [stdout] 289 +     pub fn Sig(a: impl Into<Box<TermInf>>, b: impl Into<Binder>) -> crate::core::TermChk {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Inf` in this scope
[INFO] [stdout]    --> src/core.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |         ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 271 +     use crate::core::TermChk::Inf;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/core.rs:4:55
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{ collections::VecDeque, fmt::{self, Write}, rc::Rc};
[INFO] [stdout]   |                                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/core.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(box_patterns)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/core.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(box_patterns)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&TermChk` in the current scope
[INFO] [stdout]   --> src/core.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     body.substitute(0, &x.normalize());
[INFO] [stdout]    |                                           ^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&TermChk` in the current scope
[INFO] [stdout]   --> src/core.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     body.substitute(0, &x.normalize());
[INFO] [stdout]    |                                           ^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for struct `core::Binder` in the current scope
[INFO] [stdout]   --> src/core.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Binder(TermChk);
[INFO] [stdout]    | ------------- method `normalize` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |                     body.normalize()
[INFO] [stdout]    |                          ^^^^^^^^^ method not found in `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for struct `core::Binder` in the current scope
[INFO] [stdout]   --> src/core.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Binder(TermChk);
[INFO] [stdout]    | ------------- method `normalize` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |                     body.normalize()
[INFO] [stdout]    |                          ^^^^^^^^^ method not found in `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:101:35
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let index = index.normalize();
[INFO] [stdout]     |                                   ^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:101:35
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let index = index.normalize();
[INFO] [stdout]     |                                   ^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if !type_family.has_type(&U(0), context, &index)  { panic!("Type Family is not being indexed from a type.") };
[INFO] [stdout]     |                                 -------- ^^^^^ expected `&TermChk`, found `&TermInf`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&TermChk`
[INFO] [stdout]                found reference `&core::TermInf`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/core.rs:54:8
[INFO] [stdout]     |
[INFO] [stdout]  54 |     fn has_type(&self, t: &TermChk, context: &mut Context, binding_type: &TermInf) -> bool {
[INFO] [stdout]     |        ^^^^^^^^        -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if !type_family.has_type(&U(0), context, &index)  { panic!("Type Family is not being indexed from a type.") };
[INFO] [stdout]     |                                 -------- ^^^^^ expected `&TermChk`, found `&TermInf`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&TermChk`
[INFO] [stdout]                found reference `&core::TermInf`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/core.rs:54:8
[INFO] [stdout]     |
[INFO] [stdout]  54 |     fn has_type(&self, t: &TermChk, context: &mut Context, binding_type: &TermInf) -> bool {
[INFO] [stdout]     |        ^^^^^^^^        -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:115:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |         match self {
[INFO] [stdout]     |               ---- this expression has type `&core::TermInf`
[INFO] [stdout] 114 |             Var(idx) => {  f.write_fmt(format_args!("{}", variable_names[*idx])) },
[INFO] [stdout] 115 |             TermInf::Pi(dom, Binder(type_family)) => { 
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ expected `Box<Binder>`, found `Binder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:115:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |         match self {
[INFO] [stdout]     |               ---- this expression has type `&core::TermInf`
[INFO] [stdout] 114 |             Var(idx) => {  f.write_fmt(format_args!("{}", variable_names[*idx])) },
[INFO] [stdout] 115 |             TermInf::Pi(dom, Binder(type_family)) => { 
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ expected `Box<Binder>`, found `Binder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Lam` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Lam` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 123 |             TermInf::Lam(Binder(body)) => {
[INFO] [stdout]     |                      ^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Lam` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Lam` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 123 |             TermInf::Lam(Binder(body)) => {
[INFO] [stdout]     |                      ^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Pair` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Pair` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 135 |             TermInf::Pair(a, b) => {
[INFO] [stdout]     |                      ^^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Pair` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Pair` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 135 |             TermInf::Pair(a, b) => {
[INFO] [stdout]     |                      ^^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:142:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         match self {
[INFO] [stdout]     |               ---- this expression has type `&core::TermInf`
[INFO] [stdout] ...
[INFO] [stdout] 142 |             TermInf::Sig(index, Binder(type_family)) => {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ expected `Box<Binder>`, found `Binder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:142:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         match self {
[INFO] [stdout]     |               ---- this expression has type `&core::TermInf`
[INFO] [stdout] ...
[INFO] [stdout] 142 |             TermInf::Sig(index, Binder(type_family)) => {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ expected `Box<Binder>`, found `Binder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 dom.debug_helper(f, variable_names)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 dom.debug_helper(f, variable_names)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 type_family.debug_helper(f, variable_names)
[INFO] [stdout]     |                             ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 type_family.debug_helper(f, variable_names)
[INFO] [stdout]     |                             ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 body.debug_helper(f, variable_names)?;
[INFO] [stdout]     |                      ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 body.debug_helper(f, variable_names)?;
[INFO] [stdout]     |                      ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 x.debug_helper(f, variable_names)
[INFO] [stdout]     |                   ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 x.debug_helper(f, variable_names)
[INFO] [stdout]     |                   ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:145:23
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 index.debug_helper(f, variable_names);
[INFO] [stdout]     |                       ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:145:23
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 index.debug_helper(f, variable_names);
[INFO] [stdout]     |                       ^^^^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:148:29
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 type_family.debug_helper(f, variable_names)
[INFO] [stdout]     |                             ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `debug_helper` found for reference `&TermChk` in the current scope
[INFO] [stdout]    --> src/core.rs:148:29
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 type_family.debug_helper(f, variable_names)
[INFO] [stdout]     |                             ^^^^^^^^^^^^ method not found in `&TermChk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:227:71
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 inferrable.infer_type(context).is_judgementally_equal(t)
[INFO] [stdout]     |                                                ---------------------- ^ expected `&TermInf`, found `&TermChk`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&core::TermInf`
[INFO] [stdout]                found reference `&TermChk`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/core.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn is_judgementally_equal(&self, other: &TermInf) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^        ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:227:71
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 inferrable.infer_type(context).is_judgementally_equal(t)
[INFO] [stdout]     |                                                ---------------------- ^ expected `&TermInf`, found `&TermChk`
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&core::TermInf`
[INFO] [stdout]                found reference `&TermChk`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/core.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn is_judgementally_equal(&self, other: &TermInf) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^        ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:230:34
[INFO] [stdout]     |
[INFO] [stdout] 230 | ...   let TermChk::Inf(box TermInf::Pi(dom, type_family)) = t else { panic!("Lamba can only be checked against a Pi type.") };
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    - this expression has type `&TermChk`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected `TermInf`, found `Box<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `core::TermInf`
[INFO] [stdout]              found struct `Box<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:230:34
[INFO] [stdout]     |
[INFO] [stdout] 230 | ...   let TermChk::Inf(box TermInf::Pi(dom, type_family)) = t else { panic!("Lamba can only be checked against a Pi type.") };
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    - this expression has type `&TermChk`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected `TermInf`, found `Box<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `core::TermInf`
[INFO] [stdout]              found struct `Box<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:231:32
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let dom = &dom.normalize();
[INFO] [stdout]     |                                ^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normalize` found for reference `&Box<TermChk>` in the current scope
[INFO] [stdout]    --> src/core.rs:231:32
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let dom = &dom.normalize();
[INFO] [stdout]     |                                ^^^^^^^^^ method not found in `&Box<TermChk>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:282:38
[INFO] [stdout]     |
[INFO] [stdout] 282 |         Inf(Box::new(TermInf::App(a, b.into())))
[INFO] [stdout]     |                      ------------    ^^^^^^^^ expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     App(Box<TermInf>, Box<TermChk>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/core.rs:282:38
[INFO] [stdout]     |
[INFO] [stdout] 282 |         Inf(Box::new(TermInf::App(a, b.into())))
[INFO] [stdout]     |                      ------------    ^^^^^^^^ expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     App(Box<TermInf>, Box<TermChk>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]    --> src/core.rs:286:22
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]    --> src/core.rs:286:34
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: expected `Box<Binder>`, found `Binder`
[INFO] [stdout]    --> src/core.rs:286:44
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     Pi(Box<TermChk>, Box<Binder>),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), Box::new(b.into()))))
[INFO] [stdout]     |                                            +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]    --> src/core.rs:286:22
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]    --> src/core.rs:286:34
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: expected `Box<Binder>`, found `Binder`
[INFO] [stdout]    --> src/core.rs:286:44
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), b.into())))
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     Pi(Box<TermChk>, Box<Binder>),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 286 |         Inf(Box::new(TermInf::Pi(a.into(), Box::new(b.into()))))
[INFO] [stdout]     |                                            +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]    --> src/core.rs:290:22
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]    --> src/core.rs:290:35
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: expected `Box<Binder>`, found `Binder`
[INFO] [stdout]    --> src/core.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout]  20 |     Sig(Box<TermChk>, Box<Binder>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), Box::new(b.into()))))
[INFO] [stdout]     |                                             +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this enum variant are incorrect
[INFO] [stdout]    --> src/core.rs:290:22
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Box<TermChk>`, found `Box<TermInf>`
[INFO] [stdout]    --> src/core.rs:290:35
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<TermChk>`
[INFO] [stdout]                found struct `Box<core::TermInf>`
[INFO] [stdout] note: expected `Box<Binder>`, found `Binder`
[INFO] [stdout]    --> src/core.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), b.into())))
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout]     = note: expected struct `Box<core::Binder>`
[INFO] [stdout]                found struct `core::Binder`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/core.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout]  20 |     Sig(Box<TermChk>, Box<Binder>),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 290 |         Inf(Box::new(TermInf::Sig(a.into(), Box::new(b.into()))))
[INFO] [stdout]     |                                             +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Lam` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:294:27
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Lam` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 294 |         Box::new(TermInf::Lam(body.into()))
[INFO] [stdout]     |                           ^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Lam` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:294:27
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Lam` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 294 |         Box::new(TermInf::Lam(body.into()))
[INFO] [stdout]     |                           ^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Pair` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Pair` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 298 |         Box::new(TermInf::Pair(a.into(),b.into()))
[INFO] [stdout]     |                           ^^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Pair` found for enum `core::TermInf` in the current scope
[INFO] [stdout]    --> src/core.rs:298:27
[INFO] [stdout]     |
[INFO] [stdout]  14 | enum TermInf {
[INFO] [stdout]     | ------------ variant, associated function, or constant `Pair` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 298 |         Box::new(TermInf::Pair(a.into(),b.into()))
[INFO] [stdout]     |                           ^^^^ variant, associated function, or constant not found in `core::TermInf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/core.rs:207:38
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn is_judgementally_equal(&self, other: &TermInf) -> bool {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `core::Binder: From<Box<core::TermInf>>` is not satisfied
[INFO] [stdout]    --> src/core.rs:315:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |             Lam(
[INFO] [stdout]     |             --- required by a bound introduced by this call
[INFO] [stdout] 315 |                 Pair(Var(0), Var(0))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Box<core::TermInf>>` is not implemented for `core::Binder`
[INFO] [stdout]       but trait `From<TermChk>` is implemented for it
[INFO] [stdout]    --> src/core.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl From<TermChk> for Binder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `TermChk`, found `Box<core::TermInf>`
[INFO] [stdout]     = note: required for `Box<core::TermInf>` to implement `Into<core::Binder>`
[INFO] [stdout] note: required by a bound in `core::constructors::Lam`
[INFO] [stdout]    --> src/core.rs:293:27
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn Lam(body: impl Into<Binder>) -> Box<TermInf> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^ required by this bound in `Lam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `core::Binder: From<Box<core::TermInf>>` is not satisfied
[INFO] [stdout]    --> src/core.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |           let new_term = Lam(
[INFO] [stdout]     |                          --- required by a bound introduced by this call
[INFO] [stdout] 314 | /             Lam(
[INFO] [stdout] 315 | |                 Pair(Var(0), Var(0))
[INFO] [stdout] 316 | |             )
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Box<core::TermInf>>` is not implemented for `core::Binder`
[INFO] [stdout]       but trait `From<TermChk>` is implemented for it
[INFO] [stdout]    --> src/core.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl From<TermChk> for Binder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: for that trait implementation, expected `TermChk`, found `Box<core::TermInf>`
[INFO] [stdout]     = note: required for `Box<core::TermInf>` to implement `Into<core::Binder>`
[INFO] [stdout] note: required by a bound in `core::constructors::Lam`
[INFO] [stdout]    --> src/core.rs:293:27
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn Lam(body: impl Into<Binder>) -> Box<TermInf> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^ required by this bound in `Lam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0531, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `has_type` found for struct `Box<core::TermInf>` in the current scope
[INFO] [stdout]    --> src/core.rs:322:23
[INFO] [stdout]     |
[INFO] [stdout] 322 |         dbg!(new_term.has_type(&new_type.0, &mut context));
[INFO] [stdout]     |                       ^^^^^^^^ method not found in `Box<core::TermInf>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/core.rs:207:38
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn is_judgementally_equal(&self, other: &TermInf) -> bool {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0531, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lof` (lib) due to 37 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `lof` (lib test) due to 40 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ebb1a9a1c8732fe9c1fd968c770d00fdb0cc60c1970f08020f76537a001a9561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebb1a9a1c8732fe9c1fd968c770d00fdb0cc60c1970f08020f76537a001a9561", kill_on_drop: false }`
[INFO] [stdout] ebb1a9a1c8732fe9c1fd968c770d00fdb0cc60c1970f08020f76537a001a9561
