[INFO] cloning repository https://github.com/Nyrox/experimental-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nyrox/experimental-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNyrox%2Fexperimental-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNyrox%2Fexperimental-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9546bd7b7de756541a155165c2939df440e6ab6c
[INFO] checking Nyrox/experimental-lang against e5e97e3ef0ee95d34bea49cdac051ed1bbac01df for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNyrox%2Fexperimental-lang" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Nyrox/experimental-lang
[INFO] finished tweaking git repo https://github.com/Nyrox/experimental-lang
[INFO] tweaked toml for git repo https://github.com/Nyrox/experimental-lang written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Nyrox/experimental-lang on toolchain e5e97e3ef0ee95d34bea49cdac051ed1bbac01df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Nyrox/experimental-lang 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" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2
[INFO] running `Command { std: "docker" "start" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.118
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking smallstr v0.2.0
[INFO] [stderr]     Checking phf_shared v0.8.0
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling terminfo v0.7.3
[INFO] [stderr]     Checking mortal v0.2.2
[INFO] [stderr]     Checking linefeed v0.6.0
[INFO] [stderr]     Checking experimental-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:179:48
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         expr = Expr::Lambda(p, box expr);
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 179 -                         expr = Expr::Lambda(p, box expr);
[INFO] [stdout] 179 +                         expr = Expr::Lambda(p, Box::new(expr));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:385:51
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout] 385 +                 return Ok(Expr::LetBinding(ident, Box::new(bind_val), box body));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:385:65
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout] 385 +                 return Ok(Expr::LetBinding(ident, box bind_val, Box::new(body)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(Box::new(cond), box consequent, box alternate)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:45
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(box cond, Box::new(consequent), box alternate)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:61
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(box cond, box consequent, Box::new(alternate))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:413:39
[INFO] [stdout]     |
[INFO] [stdout] 413 |                 return Ok(Expr::Match(box expr, arms));
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 413 -                 return Ok(Expr::Match(box expr, arms));
[INFO] [stdout] 413 +                 return Ok(Expr::Match(Box::new(expr), arms));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:421:43
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 return Ok(Expr::Lambda(p, box body));
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 421 -                 return Ok(Expr::Lambda(p, box body));
[INFO] [stdout] 421 +                 return Ok(Expr::Lambda(p, Box::new(body)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                     lhs = Expr::FieldAccess(box lhs, field);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 478 -                     lhs = Expr::FieldAccess(box lhs, field);
[INFO] [stdout] 478 +                     lhs = Expr::FieldAccess(Box::new(lhs), field);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:497:48
[INFO] [stdout]     |
[INFO] [stdout] 497 |                         _ => Expr::Application(box lhs, vec![rhs]),
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 497 -                         _ => Expr::Application(box lhs, vec![rhs]),
[INFO] [stdout] 497 +                         _ => Expr::Application(Box::new(lhs), vec![rhs]),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |                 box lhs,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 528 -                 box lhs,
[INFO] [stdout] 528 +                 Box::new(lhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:529:17
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 box rhs,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 529 -                 box rhs,
[INFO] [stdout] 529 +                 Box::new(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:609:25
[INFO] [stdout]     |
[INFO] [stdout] 609 |             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 609 -             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout] 609 +             Ok(Ty::Func(Box::new(lhs), box self.parse_type()?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:609:34
[INFO] [stdout]     |
[INFO] [stdout] 609 |             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 609 -             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout] 609 +             Ok(Ty::Func(box lhs, Box::new(self.parse_type()?)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:614:29
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 Ok(Ty::List(box lhs))
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 614 -                 Ok(Ty::List(box lhs))
[INFO] [stdout] 614 +                 Ok(Ty::List(Box::new(lhs)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:179:48
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         expr = Expr::Lambda(p, box expr);
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 179 -                         expr = Expr::Lambda(p, box expr);
[INFO] [stdout] 179 +                         expr = Expr::Lambda(p, Box::new(expr));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:385:51
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout] 385 +                 return Ok(Expr::LetBinding(ident, Box::new(bind_val), box body));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:385:65
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 385 -                 return Ok(Expr::LetBinding(ident, box bind_val, box body));
[INFO] [stdout] 385 +                 return Ok(Expr::LetBinding(ident, box bind_val, Box::new(body)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(Box::new(cond), box consequent, box alternate)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:45
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(box cond, Box::new(consequent), box alternate)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:394:61
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 394 -                 Expr::Conditional(box cond, box consequent, box alternate)
[INFO] [stdout] 394 +                 Expr::Conditional(box cond, box consequent, Box::new(alternate))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:413:39
[INFO] [stdout]     |
[INFO] [stdout] 413 |                 return Ok(Expr::Match(box expr, arms));
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 413 -                 return Ok(Expr::Match(box expr, arms));
[INFO] [stdout] 413 +                 return Ok(Expr::Match(Box::new(expr), arms));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:421:43
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 return Ok(Expr::Lambda(p, box body));
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 421 -                 return Ok(Expr::Lambda(p, box body));
[INFO] [stdout] 421 +                 return Ok(Expr::Lambda(p, Box::new(body)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:478:45
[INFO] [stdout]     |
[INFO] [stdout] 478 |                     lhs = Expr::FieldAccess(box lhs, field);
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 478 -                     lhs = Expr::FieldAccess(box lhs, field);
[INFO] [stdout] 478 +                     lhs = Expr::FieldAccess(Box::new(lhs), field);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:497:48
[INFO] [stdout]     |
[INFO] [stdout] 497 |                         _ => Expr::Application(box lhs, vec![rhs]),
[INFO] [stdout]     |                                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 497 -                         _ => Expr::Application(box lhs, vec![rhs]),
[INFO] [stdout] 497 +                         _ => Expr::Application(Box::new(lhs), vec![rhs]),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |                 box lhs,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 528 -                 box lhs,
[INFO] [stdout] 528 +                 Box::new(lhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:529:17
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 box rhs,
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 529 -                 box rhs,
[INFO] [stdout] 529 +                 Box::new(rhs),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:609:25
[INFO] [stdout]     |
[INFO] [stdout] 609 |             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 609 -             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout] 609 +             Ok(Ty::Func(Box::new(lhs), box self.parse_type()?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:609:34
[INFO] [stdout]     |
[INFO] [stdout] 609 |             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 609 -             Ok(Ty::Func(box lhs, box self.parse_type()?))
[INFO] [stdout] 609 +             Ok(Ty::Func(box lhs, Box::new(self.parse_type()?)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/recdec.rs:614:29
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 Ok(Ty::List(box lhs))
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 614 -                 Ok(Ty::List(box lhs))
[INFO] [stdout] 614 +                 Ok(Ty::List(Box::new(lhs)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:37
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(Box::new(cond), box cons, box alt), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:47
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(box cond, Box::new(cons), box alt), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:57
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(box cond, box cons, Box::new(alt)), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:219:53
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   ExprT::MatchSum(box (matchee_te, matched_ty), t_arms),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 219 -                                     ExprT::MatchSum(box (matchee_te, matched_ty), t_arms),
[INFO] [stdout] 219 +                                     ExprT::MatchSum(Box::new((matchee_te, matched_ty)), t_arms),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:247:59
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), box rhs), ty.clone()))
[INFO] [stdout]     |                                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 247 -                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), box rhs), ty.clone()))
[INFO] [stdout] 247 +                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), Box::new(rhs)), ty.clone()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:267:58
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout]     |                                                          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout] 267 +                     ExprT::LetBinding(binding.0.clone(), Box::new(rhs), box body),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:267:67
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout]     |                                                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout] 267 +                     ExprT::LetBinding(binding.0.clone(), box rhs, Box::new(body)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:452:55
[INFO] [stdout]     |
[INFO] [stdout] 452 |         .map(|(lhs, (exprs, rt))| (ExprT::Application(box lhs, exprs), rt.clone()))
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 452 -         .map(|(lhs, (exprs, rt))| (ExprT::Application(box lhs, exprs), rt.clone()))
[INFO] [stdout] 452 +         .map(|(lhs, (exprs, rt))| (ExprT::Application(Box::new(lhs), exprs), rt.clone()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:37
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(Box::new(cond), box cons, box alt), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:47
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(box cond, Box::new(cons), box alt), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:57
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(box cond, box cons, Box::new(alt)), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:527:65
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout] 527 +                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, Box::new(lhs.clone()), box rhs.clone()), finalT))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:527:82
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout] 527 +                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), Box::new(rhs.clone())), finalT))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:547:55
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 547 -                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout] 547 +                 (ExprT::LetBinding(binding.0.clone(), Box::new(rhs), box body), bt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:547:64
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout]     |                                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 547 -                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout] 547 +                 (ExprT::LetBinding(binding.0.clone(), box rhs, Box::new(body)), bt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:579:48
[INFO] [stdout]     |
[INFO] [stdout] 579 |             let e = ExprT::Lambda(p.0.clone(), box (r.0, r.1.clone()));
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 579 -             let e = ExprT::Lambda(p.0.clone(), box (r.0, r.1.clone()));
[INFO] [stdout] 579 +             let e = ExprT::Lambda(p.0.clone(), Box::new((r.0, r.1.clone())));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:613:41
[INFO] [stdout]     |
[INFO] [stdout] 613 | ...                   box (te, Type::user_type(th.clone(), ty_params)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 613 -                                         box (te, Type::user_type(th.clone(), ty_params)),
[INFO] [stdout] 613 +                                         Box::new((te, Type::user_type(th.clone(), ty_params))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:645:48
[INFO] [stdout]     |
[INFO] [stdout] 645 | ...                   ExprT::FieldAccess(box (te, Type::tuple(ty_params)), index),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 645 -                             ExprT::FieldAccess(box (te, Type::tuple(ty_params)), index),
[INFO] [stdout] 645 +                             ExprT::FieldAccess(Box::new((te, Type::tuple(ty_params))), index),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:37
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(Box::new(cond), box cons, box alt), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:47
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(box cond, Box::new(cons), box alt), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:140:57
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 (ExprT::Conditional(box cond, box cons, box alt), ty.clone())
[INFO] [stdout] 140 +                 (ExprT::Conditional(box cond, box cons, Box::new(alt)), ty.clone())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:219:53
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   ExprT::MatchSum(box (matchee_te, matched_ty), t_arms),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 219 -                                     ExprT::MatchSum(box (matchee_te, matched_ty), t_arms),
[INFO] [stdout] 219 +                                     ExprT::MatchSum(Box::new((matchee_te, matched_ty)), t_arms),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:247:59
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), box rhs), ty.clone()))
[INFO] [stdout]     |                                                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 247 -                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), box rhs), ty.clone()))
[INFO] [stdout] 247 +                 rhs.map(|rhs| (ExprT::Lambda(p.0.clone(), Box::new(rhs)), ty.clone()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:267:58
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout]     |                                                          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout] 267 +                     ExprT::LetBinding(binding.0.clone(), Box::new(rhs), box body),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:267:67
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout]     |                                                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 267 -                     ExprT::LetBinding(binding.0.clone(), box rhs, box body),
[INFO] [stdout] 267 +                     ExprT::LetBinding(binding.0.clone(), box rhs, Box::new(body)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:452:55
[INFO] [stdout]     |
[INFO] [stdout] 452 |         .map(|(lhs, (exprs, rt))| (ExprT::Application(box lhs, exprs), rt.clone()))
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 452 -         .map(|(lhs, (exprs, rt))| (ExprT::Application(box lhs, exprs), rt.clone()))
[INFO] [stdout] 452 +         .map(|(lhs, (exprs, rt))| (ExprT::Application(Box::new(lhs), exprs), rt.clone()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:37
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(Box::new(cond), box cons, box alt), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:47
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(box cond, Box::new(cons), box alt), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:508:57
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 508 -                 (ExprT::Conditional(box cond, box cons, box alt), rt)
[INFO] [stdout] 508 +                 (ExprT::Conditional(box cond, box cons, Box::new(alt)), rt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:527:65
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout] 527 +                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, Box::new(lhs.clone()), box rhs.clone()), finalT))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:527:82
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), box rhs.clone()), finalT))
[INFO] [stdout] 527 +                     unifiedT.map(|finalT| (ExprT::BinaryOp(*op, box lhs.clone(), Box::new(rhs.clone())), finalT))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:547:55
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout]     |                                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 547 -                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout] 547 +                 (ExprT::LetBinding(binding.0.clone(), Box::new(rhs), box body), bt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:547:64
[INFO] [stdout]     |
[INFO] [stdout] 547 |                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout]     |                                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 547 -                 (ExprT::LetBinding(binding.0.clone(), box rhs, box body), bt)
[INFO] [stdout] 547 +                 (ExprT::LetBinding(binding.0.clone(), box rhs, Box::new(body)), bt)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:579:48
[INFO] [stdout]     |
[INFO] [stdout] 579 |             let e = ExprT::Lambda(p.0.clone(), box (r.0, r.1.clone()));
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 579 -             let e = ExprT::Lambda(p.0.clone(), box (r.0, r.1.clone()));
[INFO] [stdout] 579 +             let e = ExprT::Lambda(p.0.clone(), Box::new((r.0, r.1.clone())));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/main.rs:45:93
[INFO] [stdout]    |
[INFO] [stdout] 45 | ...                   ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), box ast),
[INFO] [stdout]    |                                                                                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 45 -                             ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), box ast),
[INFO] [stdout] 45 +                             ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), Box::new(ast)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:613:41
[INFO] [stdout]     |
[INFO] [stdout] 613 | ...                   box (te, Type::user_type(th.clone(), ty_params)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 613 -                                         box (te, Type::user_type(th.clone(), ty_params)),
[INFO] [stdout] 613 +                                         Box::new((te, Type::user_type(th.clone(), ty_params))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/typecheck/mod.rs:645:48
[INFO] [stdout]     |
[INFO] [stdout] 645 | ...                   ExprT::FieldAccess(box (te, Type::tuple(ty_params)), index),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 645 -                             ExprT::FieldAccess(box (te, Type::tuple(ty_params)), index),
[INFO] [stdout] 645 +                             ExprT::FieldAccess(Box::new((te, Type::tuple(ty_params))), index),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Span`
[INFO] [stdout]  --> src/parser/recdec.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Position, Span, Spanned, Token};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parser/recdec.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::untyped::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/interpret.rs:274:51
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   Operator::BinOpMod => (l % r),
[INFO] [stdout]     |                                             ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -                             Operator::BinOpMod => (l % r),
[INFO] [stdout] 274 +                             Operator::BinOpMod => l % r,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/typecheck/mod.rs:469:30
[INFO] [stdout]     |
[INFO] [stdout] 469 |             Type::ErrType => (0),
[INFO] [stdout]     |                              ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 469 -             Type::ErrType => (0),
[INFO] [stdout] 469 +             Type::ErrType => 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `untyped::Operator`
[INFO] [stdout]    --> src/typecheck/mod.rs:522:17
[INFO] [stdout]     |
[INFO] [stdout] 522 |             use untyped::Operator;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `untyped::TypeDeclaration`
[INFO] [stdout]    --> src/typecheck/mod.rs:755:9
[INFO] [stdout]     |
[INFO] [stdout] 755 |     use untyped::TypeDeclaration;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_fold_self` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(iterator_fold_self)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/main.rs:45:93
[INFO] [stdout]    |
[INFO] [stdout] 45 | ...                   ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), box ast),
[INFO] [stdout]    |                                                                                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 45 -                             ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), box ast),
[INFO] [stdout] 45 +                             ast::untyped::Expr::Lambda(Spanned("()".into(), Span::empty()), Box::new(ast)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Span`
[INFO] [stdout]  --> src/parser/recdec.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Position, Span, Spanned, Token};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parser/recdec.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::untyped::{self, *};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/interpret.rs:274:51
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...                   Operator::BinOpMod => (l % r),
[INFO] [stdout]     |                                             ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -                             Operator::BinOpMod => (l % r),
[INFO] [stdout] 274 +                             Operator::BinOpMod => l % r,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `judgement::TypeJudgement<Infallible>: Residual<(T, Vec<Constraint>)>` is not satisfied
[INFO] [stdout]    --> src/typecheck/judgement.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |     type Residual = TypeJudgement<std::convert::Infallible>;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the nightly-only, unstable trait `Residual<(T, Vec<Constraint>)>` is not implemented for `judgement::TypeJudgement<Infallible>`
[INFO] [stdout]    --> src/typecheck/judgement.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | pub enum TypeJudgement<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `Residual<O>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/option.rs:2904:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<Infallible>` implements `Residual<T>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/ops/control_flow.rs:138:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow<B, Infallible>` implements `Residual<C>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/result.rs:2208:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Result<Infallible, E>` implements `Residual<T>`
[INFO] [stdout] note: required by a bound in `std::ops::Try::Residual`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/ops/try_trait.rs:160:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/typecheck/mod.rs:469:30
[INFO] [stdout]     |
[INFO] [stdout] 469 |             Type::ErrType => (0),
[INFO] [stdout]     |                              ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 469 -             Type::ErrType => (0),
[INFO] [stdout] 469 +             Type::ErrType => 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `untyped::Operator`
[INFO] [stdout]    --> src/typecheck/mod.rs:522:17
[INFO] [stdout]     |
[INFO] [stdout] 522 |             use untyped::Operator;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `untyped::TypeDeclaration`
[INFO] [stdout]    --> src/typecheck/mod.rs:755:9
[INFO] [stdout]     |
[INFO] [stdout] 755 |     use untyped::TypeDeclaration;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_fold_self` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(iterator_fold_self)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `judgement::TypeJudgement<Infallible>: Residual<(T, Vec<Constraint>)>` is not satisfied
[INFO] [stdout]    --> src/typecheck/judgement.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |     type Residual = TypeJudgement<std::convert::Infallible>;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the nightly-only, unstable trait `Residual<(T, Vec<Constraint>)>` is not implemented for `judgement::TypeJudgement<Infallible>`
[INFO] [stdout]    --> src/typecheck/judgement.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | pub enum TypeJudgement<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `Residual<O>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/option.rs:2904:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<Infallible>` implements `Residual<T>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/ops/control_flow.rs:138:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ControlFlow<B, Infallible>` implements `Residual<C>`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/result.rs:2208:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Result<Infallible, E>` implements `Residual<T>`
[INFO] [stdout] note: required by a bound in `std::ops::Try::Residual`
[INFO] [stdout]    --> /rustc/e5e97e3ef0ee95d34bea49cdac051ed1bbac01df/library/core/src/ops/try_trait.rs:160:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Borrow`
[INFO] [stdout]   --> src/main.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{error::Error, borrow::Borrow};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Borrow`
[INFO] [stdout]   --> src/main.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{error::Error, borrow::Borrow};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout]  53 |             BuiltInFn::FileRead => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  61 |             BuiltInFn::Print => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  69 |             BuiltInFn::Printi => {
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  77 |             BuiltInFn::StringParseInt => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 118 |             _ => {
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             ExprT::Tuple(exprs) => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 136 |             ExprT::LetBinding(binding, rhs, body) => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 144 |             ExprT::MatchSum(matchee, arms) => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 169 |             ExprT::Application(lhs, rhs) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 317 |             _ => {
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 | ...                   _ => panic!(),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   Operator::BinOpAdd => l + r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 264 | ...                   Operator::BinOpSub => l - r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 265 | ...                   Operator::BinOpMul => l * r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 266 | ...                   Operator::BinOpDiv => l / r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 275 | ...                   _ => panic!(),
[INFO] [stdout]     |                       ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `th`
[INFO] [stdout]    --> src/interpret.rs:147:44
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 if let Some(Value::Variant(th, vi, val)) = self.pop_val() {
[INFO] [stdout]     |                                            ^^ help: if this is intentional, prefix it with an underscore: `_th`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vt`
[INFO] [stdout]    --> src/interpret.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     let (_n, vt) = &variants[*vi];
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_vt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout]  53 |             BuiltInFn::FileRead => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  61 |             BuiltInFn::Print => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  69 |             BuiltInFn::Printi => {
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  77 |             BuiltInFn::StringParseInt => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 118 |             _ => {
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             ExprT::Tuple(exprs) => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 136 |             ExprT::LetBinding(binding, rhs, body) => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 144 |             ExprT::MatchSum(matchee, arms) => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 169 |             ExprT::Application(lhs, rhs) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 317 |             _ => {
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpret.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 | ...                   _ => panic!(),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpret.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   Operator::BinOpAdd => l + r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 264 | ...                   Operator::BinOpSub => l - r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 265 | ...                   Operator::BinOpMul => l * r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] 266 | ...                   Operator::BinOpDiv => l / r,
[INFO] [stdout]     |                       ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 275 | ...                   _ => panic!(),
[INFO] [stdout]     |                       ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typecheck/constraints.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn find_mut(&mut self, mut i: usize) -> Option<(usize, &mut Element)> {
[INFO] [stdout]    |                                ----^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/typecheck/constraints.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |             (Some(t1), Some(t2)) => {
[INFO] [stdout]     |                   ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/typecheck/constraints.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 |             (Some(t1), Some(t2)) => {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctor`
[INFO] [stdout]    --> src/typecheck/constraints.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Type::ConstructedType(ctor, tys) => {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_ctor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tys`
[INFO] [stdout]    --> src/typecheck/constraints.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Type::ConstructedType(ctor, tys) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_tys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `th`
[INFO] [stdout]    --> src/interpret.rs:147:44
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 if let Some(Value::Variant(th, vi, val)) = self.pop_val() {
[INFO] [stdout]     |                                            ^^ help: if this is intentional, prefix it with an underscore: `_th`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vt`
[INFO] [stdout]    --> src/interpret.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     let (_n, vt) = &variants[*vi];
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_vt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/typecheck/mod.rs:725:30
[INFO] [stdout]     |
[INFO] [stdout] 725 |             Ty::TypeVariable(p) => {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typecheck/constraints.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn find_mut(&mut self, mut i: usize) -> Option<(usize, &mut Element)> {
[INFO] [stdout]    |                                ----^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/typecheck/mod.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 825 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/typecheck/mod.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         untyped::TypeDefinition::Sum { ref variants } => {
[INFO] [stdout]     |         --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 810 |         untyped::TypeDefinition::Record { fields } => {
[INFO] [stdout]     |         ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 822 |         untyped::TypeDefinition::TypeAlias(t) => {
[INFO] [stdout]     |         ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 825 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/typecheck/constraints.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |             (Some(t1), Some(t2)) => {
[INFO] [stdout]     |                   ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/typecheck/constraints.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 |             (Some(t1), Some(t2)) => {
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctor`
[INFO] [stdout]    --> src/typecheck/constraints.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Type::ConstructedType(ctor, tys) => {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_ctor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tys`
[INFO] [stdout]    --> src/typecheck/constraints.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Type::ConstructedType(ctor, tys) => {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_tys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/typecheck/mod.rs:816:34
[INFO] [stdout]     |
[INFO] [stdout] 816 |                     .map(|(n, t, a)| (n.0.clone(), resolve_type(ctx, t)))
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/typecheck/mod.rs:793:55
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...                   .map(|(i, s)| Type::TypeVariable(i as u32))
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/typecheck/mod.rs:822:44
[INFO] [stdout]     |
[INFO] [stdout] 822 |         untyped::TypeDefinition::TypeAlias(t) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/typecheck/mod.rs:970:13
[INFO] [stdout]     |
[INFO] [stdout] 970 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/typecheck/mod.rs:970:13
[INFO] [stdout]     |
[INFO] [stdout] 913 |             Declaration::Type(ty) => typecheck_type_decl(&mut checking_context, ty),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 914 |             Declaration::ClosedTypeClass(tc) => {
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 925 |             Declaration::TypeAnnotation(ident, t) => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 929 |             Declaration::Binding(ident, expr) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 970 |             _ => {
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> src/typecheck/mod.rs:958:40
[INFO] [stdout]     |
[INFO] [stdout] 958 |                         .map(|((e, t), ts)| {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> src/typecheck/mod.rs:941:40
[INFO] [stdout]     |
[INFO] [stdout] 941 |                         .map(|((e, t), ts)| {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/typecheck/mod.rs:725:30
[INFO] [stdout]     |
[INFO] [stdout] 725 |             Ty::TypeVariable(p) => {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/typecheck/mod.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 825 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/typecheck/mod.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         untyped::TypeDefinition::Sum { ref variants } => {
[INFO] [stdout]     |         --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 810 |         untyped::TypeDefinition::Record { fields } => {
[INFO] [stdout]     |         ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 822 |         untyped::TypeDefinition::TypeAlias(t) => {
[INFO] [stdout]     |         ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 825 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/typecheck/mod.rs:816:34
[INFO] [stdout]     |
[INFO] [stdout] 816 |                     .map(|(n, t, a)| (n.0.clone(), resolve_type(ctx, t)))
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/typecheck/mod.rs:793:55
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...                   .map(|(i, s)| Type::TypeVariable(i as u32))
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/typecheck/mod.rs:822:44
[INFO] [stdout]     |
[INFO] [stdout] 822 |         untyped::TypeDefinition::TypeAlias(t) => {
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/typecheck/mod.rs:970:13
[INFO] [stdout]     |
[INFO] [stdout] 970 |             _ => {
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/typecheck/mod.rs:970:13
[INFO] [stdout]     |
[INFO] [stdout] 913 |             Declaration::Type(ty) => typecheck_type_decl(&mut checking_context, ty),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 914 |             Declaration::ClosedTypeClass(tc) => {
[INFO] [stdout]     |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 925 |             Declaration::TypeAnnotation(ident, t) => {
[INFO] [stdout]     |             ------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 929 |             Declaration::Binding(ident, expr) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 970 |             _ => {
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `experimental-lang` (bin "experimental-lang" test) due to 36 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> src/typecheck/mod.rs:958:40
[INFO] [stdout]     |
[INFO] [stdout] 958 |                         .map(|((e, t), ts)| {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts`
[INFO] [stdout]    --> src/typecheck/mod.rs:941:40
[INFO] [stdout]     |
[INFO] [stdout] 941 |                         .map(|((e, t), ts)| {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `experimental-lang` (bin "experimental-lang") due to 36 previous errors; 27 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2", kill_on_drop: false }`
[INFO] [stdout] ed868d66693851324eb4506d1ff8b774e3c94ad2b68d464520d67d80159ab5a2
