[INFO] cloning repository https://github.com/jaredbrungard/plai-recursion
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jaredbrungard/plai-recursion" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaredbrungard%2Fplai-recursion", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaredbrungard%2Fplai-recursion'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0b0f9b7f2b675815d7b9938853ad83389f56469a
[INFO] testing jaredbrungard/plai-recursion against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaredbrungard%2Fplai-recursion" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jaredbrungard/plai-recursion
[INFO] finished tweaking git repo https://github.com/jaredbrungard/plai-recursion
[INFO] tweaked toml for git repo https://github.com/jaredbrungard/plai-recursion written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jaredbrungard/plai-recursion on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jaredbrungard/plai-recursion 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7
[INFO] running `Command { std: "docker" "start" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7", 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" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling student v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/interp.rs:98:27
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Some(v) => Ok(v.clone()),
[INFO] [stdout]    |                        -- ^^^^^^^^^ expected `Value`, found `Rc<RefCell<Option<Value>>>`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Value`
[INFO] [stdout]             found struct `Rc<RefCell<Option<Value>>>`
[INFO] [stdout] help: the type constructed contains `Rc<RefCell<Option<Value>>>` due to the type of the argument passed
[INFO] [stdout]   --> src/interp.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Some(v) => Ok(v.clone()),
[INFO] [stdout]    |                        ^^^---------^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:561:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/interp.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 |             new_nv.insert(var.clone(), val);
[INFO] [stdout]     |                    ------              ^^^ expected `Rc<RefCell<Option<Value>>>`, found `Value`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Rc<RefCell<Option<Value>>>`
[INFO] [stdout]                  found enum `Value`
[INFO] [stdout] help: the return type of this call is `Value` due to the type of the argument passed
[INFO] [stdout]    --> src/interp.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 |             new_nv.insert(var.clone(), val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^---^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this argument influences the return type of `insert`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/collections/hash/map.rs:1333:11
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/interp.rs:171:40
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     new_nv.insert(var, arg_val);
[INFO] [stdout]     |                            ------      ^^^^^^^ expected `Rc<RefCell<Option<Value>>>`, found `Value`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Rc<RefCell<Option<Value>>>`
[INFO] [stdout]                  found enum `Value`
[INFO] [stdout] help: the return type of this call is `Value` due to the type of the argument passed
[INFO] [stdout]    --> src/interp.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     new_nv.insert(var, arg_val);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^-------^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this argument influences the return type of `insert`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/collections/hash/map.rs:1333:11
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `&Exp::Rec { .. }` not covered
[INFO] [stdout]   --> src/interp.rs:4:11
[INFO] [stdout]    |
[INFO] [stdout]  4 |     match e {
[INFO] [stdout]    |           ^ pattern `&Exp::Rec { .. }` not covered
[INFO] [stdout]    |
[INFO] [stdout] note: `Exp` defined here
[INFO] [stdout]   --> src/main.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 70 | enum Exp {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Rec { var: String, var_type: Type, value: Box<Exp>, body: Box<Exp> },
[INFO] [stdout]    |     --- not covered
[INFO] [stdout]    = note: the matched value is of type `&Exp`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]    |
[INFO] [stdout] 87 ~         },
[INFO] [stdout] 88 +         &Exp::Rec { .. } => todo!()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `student` (bin "student") due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7", kill_on_drop: false }`
[INFO] [stdout] 9dd803d7398e86702c392e0bedc749d7da21d511e67032e7904f5f768d5b55a7
