[INFO] cloning repository https://github.com/riku179/monkey-lang-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/riku179/monkey-lang-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friku179%2Fmonkey-lang-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friku179%2Fmonkey-lang-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5913fabb859023f60454e50b31ab0299e4aaff75
[INFO] checking riku179/monkey-lang-rust against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friku179%2Fmonkey-lang-rust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/riku179/monkey-lang-rust
[INFO] finished tweaking git repo https://github.com/riku179/monkey-lang-rust
[INFO] tweaked toml for git repo https://github.com/riku179/monkey-lang-rust written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/riku179/monkey-lang-rust on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/riku179/monkey-lang-rust 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ascii v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033
[INFO] running `Command { std: "docker" "start" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033", 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" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033", 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 -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking ascii v1.0.0
[INFO] [stderr]     Checking monkey_lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.100.0
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.100.0
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/ast/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 if let Some(box stmt) = alter {
[INFO] [stdout]    |                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 82 -                 if let Some(box stmt) = alter {
[INFO] [stdout] 82 +                 if let Some(stmt) = alter {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 82 -                 if let Some(box stmt) = alter {
[INFO] [stdout] 82 +                 if let Some(deref!(stmt)) = alter {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/ast/mod.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Expr::Call(box func, args) => {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 101 -             Expr::Call(box func, args) => {
[INFO] [stdout] 101 +             Expr::Call(func, args) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 101 -             Expr::Call(box func, args) => {
[INFO] [stdout] 101 +             Expr::Call(deref!(func), args) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/evaluator/mod.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |         if let Object::Return(box val) = result {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 13 -         if let Object::Return(box val) = result {
[INFO] [stdout] 13 +         if let Object::Return(val) = result {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 13 -         if let Object::Return(box val) = result {
[INFO] [stdout] 13 +         if let Object::Return(deref!(val)) = result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/evaluator/mod.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Expr::Call(box func_expr, args) => {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -         Expr::Call(box func_expr, args) => {
[INFO] [stdout] 51 +         Expr::Call(func_expr, args) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -         Expr::Call(box func_expr, args) => {
[INFO] [stdout] 51 +         Expr::Call(deref!(func_expr), args) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/evaluator/mod.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |     if let Object::Return(box value) = obj {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 220 -     if let Object::Return(box value) = obj {
[INFO] [stdout] 220 +     if let Object::Return(value) = obj {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 220 -     if let Object::Return(box value) = obj {
[INFO] [stdout] 220 +     if let Object::Return(deref!(value)) = obj {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/ast/mod.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 if let Some(box stmt) = alter {
[INFO] [stdout]    |                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 82 -                 if let Some(box stmt) = alter {
[INFO] [stdout] 82 +                 if let Some(stmt) = alter {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 82 -                 if let Some(box stmt) = alter {
[INFO] [stdout] 82 +                 if let Some(deref!(stmt)) = alter {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/ast/mod.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Expr::Call(box func, args) => {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 101 -             Expr::Call(box func, args) => {
[INFO] [stdout] 101 +             Expr::Call(func, args) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 101 -             Expr::Call(box func, args) => {
[INFO] [stdout] 101 +             Expr::Call(deref!(func), args) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/evaluator/mod.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |         if let Object::Return(box val) = result {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 13 -         if let Object::Return(box val) = result {
[INFO] [stdout] 13 +         if let Object::Return(val) = result {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 13 -         if let Object::Return(box val) = result {
[INFO] [stdout] 13 +         if let Object::Return(deref!(val)) = result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/evaluator/mod.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |         Expr::Call(box func_expr, args) => {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -         Expr::Call(box func_expr, args) => {
[INFO] [stdout] 51 +         Expr::Call(func_expr, args) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -         Expr::Call(box func_expr, args) => {
[INFO] [stdout] 51 +         Expr::Call(deref!(func_expr), args) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/evaluator/mod.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |     if let Object::Return(box value) = obj {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 220 -     if let Object::Return(box value) = obj {
[INFO] [stdout] 220 +     if let Object::Return(value) = obj {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 220 -     if let Object::Return(box value) = obj {
[INFO] [stdout] 220 +     if let Object::Return(deref!(value)) = obj {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/object/mod.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 19 -             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout] 19 +             Object::Return(v) => write!(f, "return {}", v),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 19 -             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout] 19 +             Object::Return(deref!(v)) => write!(f, "return {}", v),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/object/mod.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 19 -             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout] 19 +             Object::Return(v) => write!(f, "return {}", v),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 19 -             Object::Return(box v) => write!(f, "return {}", v),
[INFO] [stdout] 19 +             Object::Return(deref!(v)) => write!(f, "return {}", v),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:137:48
[INFO] [stdout]     |
[INFO] [stdout] 137 |         if let Stmt::Expr(Expr::Prefix(prefix, box Expr::Literal(Literal::Int(val)))) =
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 137 -         if let Stmt::Expr(Expr::Prefix(prefix, box Expr::Literal(Literal::Int(val)))) =
[INFO] [stdout] 137 +         if let Stmt::Expr(Expr::Prefix(prefix, Expr::Literal(Literal::Int(val)))) =
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 137 -         if let Stmt::Expr(Expr::Prefix(prefix, box Expr::Literal(Literal::Int(val)))) =
[INFO] [stdout] 137 +         if let Stmt::Expr(Expr::Prefix(prefix, deref!(Expr::Literal(Literal::Int(val))))) =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:231:32
[INFO] [stdout]     |
[INFO] [stdout] 231 |     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 231 -     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout] 231 +     if let Stmt::Expr(Expr::If(cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 231 -     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout] 231 +     if let Stmt::Expr(Expr::If(deref!(cond), box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:231:42
[INFO] [stdout]     |
[INFO] [stdout] 231 |     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 231 -     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout] 231 +     if let Stmt::Expr(Expr::If(box cond, Stmt::Block(cons_stmts), None)) =
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 231 -     if let Stmt::Expr(Expr::If(box cond, box Stmt::Block(cons_stmts), None)) =
[INFO] [stdout] 231 +     if let Stmt::Expr(Expr::If(box cond, deref!(Stmt::Block(cons_stmts)), None)) =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         box cond,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 251 -         box cond,
[INFO] [stdout] 251 +         cond,
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 251 -         box cond,
[INFO] [stdout] 251 +         deref!(cond),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |         box Stmt::Block(cons_stmts),
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 252 -         box Stmt::Block(cons_stmts),
[INFO] [stdout] 252 +         Stmt::Block(cons_stmts),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 252 -         box Stmt::Block(cons_stmts),
[INFO] [stdout] 252 +         deref!(Stmt::Block(cons_stmts)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 253 |         Some(box Stmt::Block(alter_stmts)),
[INFO] [stdout]     |              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 253 -         Some(box Stmt::Block(alter_stmts)),
[INFO] [stdout] 253 +         Some(Stmt::Block(alter_stmts)),
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 253 -         Some(box Stmt::Block(alter_stmts)),
[INFO] [stdout] 253 +         Some(deref!(Stmt::Block(alter_stmts))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |     if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 320 -     if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout] 320 +     if let Stmt::Expr(Expr::Call(func, params)) = &program.statements[0] {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 320 -     if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout] 320 +     if let Stmt::Expr(Expr::Call(deref!(func), params)) = &program.statements[0] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/parser/test.rs:349:38
[INFO] [stdout]     |
[INFO] [stdout] 349 |         if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 349 -         if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout] 349 +         if let Stmt::Expr(Expr::Call(func, params)) = &program.statements[0] {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 349 -         if let Stmt::Expr(Expr::Call(box func, params)) = &program.statements[0] {
[INFO] [stdout] 349 +         if let Stmt::Expr(Expr::Call(deref!(func), params)) = &program.statements[0] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/parser/test_util.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 47 -     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout] 47 +     if let Expr::Infix(left, infix, box right) = expr {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 47 -     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout] 47 +     if let Expr::Infix(deref!(left), infix, box right) = expr {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/parser/test_util.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 47 -     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout] 47 +     if let Expr::Infix(box left, infix, right) = expr {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 47 -     if let Expr::Infix(box left, infix, box right) = expr {
[INFO] [stdout] 47 +     if let Expr::Infix(box left, infix, deref!(right)) = expr {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]   --> src/main.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]  --> src/repl/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]   --> src/token/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `never_type` has been stable since 1.100.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(never_type)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]   --> src/main.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]  --> src/repl/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin`
[INFO] [stdout]   --> src/token/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[cfg_attr(tarpaulin, skip)]
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `never_type` has been stable since 1.100.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(never_type)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/main.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     if let Err(err) = repl::start(stdin_lock, io::stdout()) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `monkey_lang` (bin "monkey_lang") due to 7 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/main.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     if let Err(err) = repl::start(stdin_lock, io::stdout()) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `monkey_lang` (bin "monkey_lang" test) due to 17 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033", kill_on_drop: false }`
[INFO] [stdout] 5513010aea1187cc8c12c321b56884455113732b2119e097f924baed76f24033
