[INFO] cloning repository https://github.com/vincent-163/lambda-calculus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vincent-163/lambda-calculus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvincent-163%2Flambda-calculus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvincent-163%2Flambda-calculus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 361fb3b696b796fc95a949c300ab50cc208f869f [INFO] building vincent-163/lambda-calculus against try#9b5e8b16bd1c4acf4cf8e6880368314cf021a987+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvincent-163%2Flambda-calculus" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/vincent-163/lambda-calculus on toolchain 9b5e8b16bd1c4acf4cf8e6880368314cf021a987 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9b5e8b16bd1c4acf4cf8e6880368314cf021a987" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/vincent-163/lambda-calculus [INFO] finished tweaking git repo https://github.com/vincent-163/lambda-calculus [INFO] tweaked toml for git repo https://github.com/vincent-163/lambda-calculus written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/vincent-163/lambda-calculus 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" "+9b5e8b16bd1c4acf4cf8e6880368314cf021a987" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9b5e8b16bd1c4acf4cf8e6880368314cf021a987" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 705e05be57befdc3679206bbbbbd5f16fc396a587ecf9de579e299bbe84942e2 [INFO] running `Command { std: "docker" "start" "-a" "705e05be57befdc3679206bbbbbd5f16fc396a587ecf9de579e299bbe84942e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "705e05be57befdc3679206bbbbbd5f16fc396a587ecf9de579e299bbe84942e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "705e05be57befdc3679206bbbbbd5f16fc396a587ecf9de579e299bbe84942e2", kill_on_drop: false }` [INFO] [stdout] 705e05be57befdc3679206bbbbbd5f16fc396a587ecf9de579e299bbe84942e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9b5e8b16bd1c4acf4cf8e6880368314cf021a987" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6cd7daa1a13c3cd2652644778907f76af90fdc2d50212f8a823e1e1d26d5016a [INFO] running `Command { std: "docker" "start" "-a" "6cd7daa1a13c3cd2652644778907f76af90fdc2d50212f8a823e1e1d26d5016a", kill_on_drop: false }` [INFO] [stderr] Compiling coc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/a_lambda_main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/d_coc_main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use d_coc::{Token, PartialTerm, next_token, TermTree}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/b_coc.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | (next.get(i-1, mode)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - (next.get(i-1, mode)) [INFO] [stdout] 101 + next.get(i-1, mode) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `c_coc::TermParser` [INFO] [stdout] --> src/c_coc_main.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use c_coc::{Token, TermParser, next_token}; [INFO] [stdout] | ^^^^^^^^^^ no `TermParser` in `c_coc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `fun` in this scope [INFO] [stdout] --> src/c_coc.rs:291:36 [INFO] [stdout] | [INFO] [stdout] 291 | let (funt, funv) = fun; [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `funt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:293:24 [INFO] [stdout] | [INFO] [stdout] 293 | if let TermTreeLazy::FOR(funt) = Deref::deref(funt) { [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 293 | if let TermTree::FOR(funt) = Deref::deref(funt) { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/a_lambda_main.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | for i in 0..x { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:294:51 [INFO] [stdout] | [INFO] [stdout] 294 | if check(&funt.typ, &top.typ, cur.next_ctx.id()) { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:295:42 [INFO] [stdout] | [INFO] [stdout] 295 | let val = if let TermTreeLazy::LAM(funv) = Deref::deref(funv) { [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 295 | let val = if let TermTree::LAM(funv) = Deref::deref(funv) { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:298:38 [INFO] [stdout] | [INFO] [stdout] 298 | ... Arc::new(TermTreeLazy::APP(funv.clone(), argv.clone())) [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 298 | Arc::new(TermTree::APP(funv.clone(), argv.clone())) [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:300:86 [INFO] [stdout] | [INFO] [stdout] 300 | (TermParserState::Complete((funt.apply(argv.clone()), val)), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/a_lambda_main.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | for i in 0..15 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:302:44 [INFO] [stdout] | [INFO] [stdout] 302 | let err = Arc::new(TermTreeLazy::ERR(format!("Type mismatch for APP: funt {:?}, argt {:?}", funt, argt))); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 302 | let err = Arc::new(TermTree::ERR(format!("Type mismatch for APP: funt {:?}, argt {:?}", funt, argt))); [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:303:73 [INFO] [stdout] | [INFO] [stdout] 303 | (TermParserState::Complete((err.clone(), err)), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:311:43 [INFO] [stdout] | [INFO] [stdout] 311 | if check(&typt, &Arc::new(TermTreeLazy::SET()), 0) { [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 311 | if check(&typt, &Arc::new(TermTree::SET()), 0) { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:312:62 [INFO] [stdout] | [INFO] [stdout] 312 | (TermParserState::FORValue(top.clone()), cur.next_ctx.extend(Arc::new(TermTreeLazy::SET()), typv.clone())) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:312:91 [INFO] [stdout] | [INFO] [stdout] 312 | (TermParserState::FORValue(top.clone()), cur.next_ctx.extend(Arc::new(TermTreeLazy::SET()), typv.clone())) [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 312 | (TermParserState::FORValue(top.clone()), cur.next_ctx.extend(Arc::new(TermTree::SET()), typv.clone())) [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:314:40 [INFO] [stdout] | [INFO] [stdout] 314 | let err = Arc::new(TermTreeLazy::ERR(format!("In FOR, type is not of type Set: {:?}", top))); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 314 | let err = Arc::new(TermTree::ERR(format!("In FOR, type is not of type Set: {:?}", top))); [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:315:69 [INFO] [stdout] | [INFO] [stdout] 315 | (TermParserState::Complete((err.clone(), err)), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:321:43 [INFO] [stdout] | [INFO] [stdout] 321 | if check(&bodt, &Arc::new(TermTreeLazy::SET()), 0) { [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 321 | if check(&bodt, &Arc::new(TermTree::SET()), 0) { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:323:34 [INFO] [stdout] | [INFO] [stdout] 323 | Arc::new(TermTreeLazy::SET()), [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 323 | Arc::new(TermTree::SET()), [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:324:34 [INFO] [stdout] | [INFO] [stdout] 324 | ... Arc::new(TermTreeLazy::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: c... [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 324 | Arc::new(TermTree::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })) [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:324:111 [INFO] [stdout] | [INFO] [stdout] 324 | ... Arc::new(TermTreeLazy::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: c... [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:324:155 [INFO] [stdout] | [INFO] [stdout] 324 | ...dv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:325:25 [INFO] [stdout] | [INFO] [stdout] 325 | )), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:327:40 [INFO] [stdout] | [INFO] [stdout] 327 | let err = Arc::new(TermTreeLazy::ERR(format!("In FOR, body is not of type Set: {:?}", top))); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 327 | let err = Arc::new(TermTree::ERR(format!("In FOR, body is not of type Set: {:?}", top))); [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:328:69 [INFO] [stdout] | [INFO] [stdout] 328 | (TermParserState::Complete((err.clone(), err)), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:333:58 [INFO] [stdout] | [INFO] [stdout] 333 | (TermParserState::LAMValue(top.clone()), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:339:30 [INFO] [stdout] | [INFO] [stdout] 339 | ... Arc::new(TermTreeLazy::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Type, ctx: cu... [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 339 | Arc::new(TermTree::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Type, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:339:107 [INFO] [stdout] | [INFO] [stdout] 339 | ... Arc::new(TermTreeLazy::FOR(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Type, ctx: cu... [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:339:150 [INFO] [stdout] | [INFO] [stdout] 339 | ...odv.quote(cur.next_ctx.id()), mode: Mode::Type, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/b_coc.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn extend(self: &Arc, mut typ: Arc, bod: Arc) -> Arc { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TermTreeLazy` [INFO] [stdout] --> src/c_coc.rs:340:30 [INFO] [stdout] | [INFO] [stdout] 340 | ... Arc::new(TermTreeLazy::LAM(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: c... [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `TermTreeLazy` [INFO] [stdout] | [INFO] [stdout] help: an enum with a similar name exists [INFO] [stdout] | [INFO] [stdout] 340 | Arc::new(TermTree::LAM(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::b_coc::TermTreeLazy; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:340:107 [INFO] [stdout] | [INFO] [stdout] 340 | ... Arc::new(TermTreeLazy::LAM(TermTreeEvaluatedBody { typ: typv.clone(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: c... [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:340:151 [INFO] [stdout] | [INFO] [stdout] 340 | ...dv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:341:21 [INFO] [stdout] | [INFO] [stdout] 341 | )), cur.next_ctx.clone()) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TermParserStack` in this scope [INFO] [stdout] --> src/c_coc.rs:345:35 [INFO] [stdout] | [INFO] [stdout] 345 | self.prev = Some(Arc::new(TermParserStack { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `cur` in this scope [INFO] [stdout] --> src/c_coc.rs:348:19 [INFO] [stdout] | [INFO] [stdout] 348 | prev: cur.prev.clone(), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/b_coc.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | (next.get(i-1, mode)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - (next.get(i-1, mode)) [INFO] [stdout] 101 + next.get(i-1, mode) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/c_coc_main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use c_coc::{Token, TermParser, next_token}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/a_lambda_main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut y = a(a(add,n(3)),n(5)); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/a_lambda_main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | let mut y = a(pred.clone(), n(5)); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `goal` [INFO] [stdout] --> src/d_coc.rs:337:13 [INFO] [stdout] | [INFO] [stdout] 337 | goal, [INFO] [stdout] | ^^^^ help: try ignoring the field: `goal: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_parser` [INFO] [stdout] --> src/d_coc_main.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let prev_parser = parser.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bod` [INFO] [stdout] --> src/d_coc_main.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | let (typ, bod) = test(proof).unwrap(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bod` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ctx` and `goal` are never used [INFO] [stdout] --> src/d_coc.rs:257:12 [INFO] [stdout] | [INFO] [stdout] 253 | impl PartialTerm { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 257 | pub fn ctx(&self) -> Context { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn goal(&self) -> Option> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `proof` is never used [INFO] [stdout] --> src/b_coc_main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const proof: &'static str = "λ#λa;λ∀b;c;λ∀c;∀d;#λ∀d;%%b;a;a;λ∀e;∀f;∀g;∀%%e;c;b;∀%%f;c;b;%%g;e;c;λ∀f;∀g;∀%%e;%f;b;%f;a;%%f;c;b;λ∀g;∀#∀%%f;... [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `proof` should have an upper case name [INFO] [stdout] --> src/d_coc_main.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const proof: &'static str = "λ#λa;λ∀b;c;λ∀c;∀d;#λ∀d;%%b;a;a;λ∀e;∀f;∀g;∀%%e;c;b;∀%%f;c;b;%%g;e;c;λ∀f;∀g;∀%%e;%f;b;%f;a;%%f;c;b;λ∀g;∀#∀%%f;... [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `PROOF` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SET`, `VAR`, `LAM`, `FOR`, and `APP` are never constructed [INFO] [stdout] --> src/b_coc.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Token { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 5 | SET, [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | VAR(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] 7 | LAM, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | FOR, [INFO] [stdout] | ^^^ [INFO] [stdout] 9 | APP, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getboth` is never used [INFO] [stdout] --> src/b_coc.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl Context { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn getboth(&self, i: usize) -> Option<(Arc, Arc)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter_tokens` is never used [INFO] [stdout] --> src/b_coc.rs:314:12 [INFO] [stdout] | [INFO] [stdout] 172 | impl TermTree { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn iter_tokens(&self) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TermTreeIter` is never constructed [INFO] [stdout] --> src/b_coc.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 319 | struct TermTreeIter<'a>(Vec<&'a TermTree>); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `proof` should have an upper case name [INFO] [stdout] --> src/b_coc_main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const proof: &'static str = "λ#λa;λ∀b;c;λ∀c;∀d;#λ∀d;%%b;a;a;λ∀e;∀f;∀g;∀%%e;c;b;∀%%f;c;b;%%g;e;c;λ∀f;∀g;∀%%e;%f;b;%f;a;%%f;c;b;λ∀g;∀#∀%%f;... [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `PROOF` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `?` operator has incompatible types [INFO] [stdout] --> src/c_coc.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | check(&a.bod.eval(a.ctx)?, &b.bod.eval(b.ctx)?, d+1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `Arc`, found `TermTreeEvaluatedBody` [INFO] [stdout] | [INFO] [stdout] = note: `?` operator cannot convert from `TermTreeEvaluatedBody` to `Arc` [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TermTreeEvaluatedBody` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `?` operator has incompatible types [INFO] [stdout] --> src/c_coc.rs:82:41 [INFO] [stdout] | [INFO] [stdout] 82 | check(&a.bod.eval(a.ctx)?, &b.bod.eval(b.ctx)?, d+1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `Arc`, found `TermTreeEvaluatedBody` [INFO] [stdout] | [INFO] [stdout] = note: `?` operator cannot convert from `TermTreeEvaluatedBody` to `Arc` [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TermTreeEvaluatedBody` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/c_coc.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | check(&a.bod.eval(a.ctx), &b.bod.eval(b.ctx), d+1) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `&Arc`, found `&Result` [INFO] [stdout] --> src/c_coc.rs:86:19 [INFO] [stdout] | [INFO] [stdout] 86 | check(&a.bod.eval(a.ctx), &b.bod.eval(b.ctx), d+1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected reference `&Arc` [INFO] [stdout] found reference `&Result` [INFO] [stdout] note: expected `&Arc`, found `&Result` [INFO] [stdout] --> src/c_coc.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | check(&a.bod.eval(a.ctx), &b.bod.eval(b.ctx), d+1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected reference `&Arc` [INFO] [stdout] found reference `&Result` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/c_coc.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn check(a: &Arc, b: &Arc, d: usize) -> Result<(), String> { [INFO] [stdout] | ^^^^^ -------------------------- -------------------------- -------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/c_coc.rs:92:14 [INFO] [stdout] | [INFO] [stdout] 71 | / match (Deref::deref(a), Deref::deref(b)) { [INFO] [stdout] 72 | | (TermTreeEvaluated::SET(), TermTreeEvaluated::SET()) => Ok(()), [INFO] [stdout] 73 | | (TermTreeEvaluated::VAR(x), TermTreeEvaluated::VAR(y)) => { [INFO] [stdout] 74 | | if x == y { [INFO] [stdout] ... | [INFO] [stdout] 90 | | check(ab, bb, d) [INFO] [stdout] | | ---------------- this and all prior arms are found to be of type `Result<(), String>` [INFO] [stdout] 91 | | } [INFO] [stdout] 92 | | _ => false, [INFO] [stdout] | | ^^^^^ expected `Result<(), String>`, found `bool` [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result<(), String>` [INFO] [stdout] found type `bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:207:55 [INFO] [stdout] | [INFO] [stdout] 207 | Some(TermTree::VAR(x)) => Some(Token::VAR(*x)), [INFO] [stdout] | ---------- ^^ expected `usize`, found `isize` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> src/c_coc.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | VAR(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] help: you can convert an `isize` to a `usize` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 207 | Some(TermTree::VAR(x)) => Some(Token::VAR((*x).try_into().unwrap())), [INFO] [stdout] | + +++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:252:53 [INFO] [stdout] | [INFO] [stdout] 252 | bod: Arc::new(TermTree::VAR(n)), [INFO] [stdout] | ------------- ^ expected `isize`, found `usize` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> src/c_coc.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | VAR(isize), // DeBruijn index [INFO] [stdout] | ^^^ [INFO] [stdout] help: you can convert a `usize` to an `isize` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 252 | bod: Arc::new(TermTree::VAR(n.try_into().unwrap())), [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:284:55 [INFO] [stdout] | [INFO] [stdout] 284 | (TermParserState::APPArg(top.typ, body), self.ctx) [INFO] [stdout] | ----------------------- ^^^^ expected `Arc`, found `TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TermTreeEvaluatedBody` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> src/c_coc.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | APPArg(Arc, Arc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | let (argt, argv) = top; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | expected `TermTreeEvaluatedBody`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `TermTreeEvaluatedBody` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:294:24 [INFO] [stdout] | [INFO] [stdout] 294 | if check(&funt.typ, &top.typ, cur.next_ctx.id()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `Result<(), String>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `bool` [INFO] [stdout] found enum `Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/c_coc.rs:298:61 [INFO] [stdout] | [INFO] [stdout] 298 | ... Arc::new(TermTreeLazy::APP(funv.clone(), argv.clone())) [INFO] [stdout] | ^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:310:21 [INFO] [stdout] | [INFO] [stdout] 310 | let (typt, typv) = top; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | expected `TermTreeEvaluatedBody`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `TermTreeEvaluatedBody` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:311:20 [INFO] [stdout] | [INFO] [stdout] 311 | if check(&typt, &Arc::new(TermTreeLazy::SET()), 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `Result<(), String>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `bool` [INFO] [stdout] found enum `Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:312:48 [INFO] [stdout] | [INFO] [stdout] 312 | (TermParserState::FORValue(top.clone()), cur.next_ctx.extend(Arc::new(TermTreeLazy::SET()), typv.clone())) [INFO] [stdout] | ------------------------- ^^^^^^^^^^^ expected `Arc`, found `TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TermTreeEvaluatedBody` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> src/c_coc.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | FORValue(Arc), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:319:21 [INFO] [stdout] | [INFO] [stdout] 319 | let (typt, typv) = typ; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&Arc` [INFO] [stdout] | | [INFO] [stdout] | expected `Arc`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:320:21 [INFO] [stdout] | [INFO] [stdout] 320 | let (bodt, bodv) = top; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | expected `TermTreeEvaluatedBody`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `TermTreeEvaluatedBody` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:321:20 [INFO] [stdout] | [INFO] [stdout] 321 | if check(&bodt, &Arc::new(TermTreeLazy::SET()), 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `Result<(), String>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `bool` [INFO] [stdout] found enum `Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TermTreeEvaluatedBody` has no field named `mode` [INFO] [stdout] --> src/c_coc.rs:324:131 [INFO] [stdout] | [INFO] [stdout] 324 | ...(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })) [INFO] [stdout] | ^^^^ `TermTreeEvaluatedBody` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:332:21 [INFO] [stdout] | [INFO] [stdout] 332 | let (typt, typv) = top; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | expected `TermTreeEvaluatedBody`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `TermTreeEvaluatedBody` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:333:44 [INFO] [stdout] | [INFO] [stdout] 333 | (TermParserState::LAMValue(top.clone()), cur.next_ctx.clone()) [INFO] [stdout] | ------------------------- ^^^^^^^^^^^ expected `Arc`, found `TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TermTreeEvaluatedBody` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> src/c_coc.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | LAMValue(Arc), // evaluated TermTree [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:336:21 [INFO] [stdout] | [INFO] [stdout] 336 | let (typt, typv) = typ; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&Arc` [INFO] [stdout] | | [INFO] [stdout] | expected `Arc`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:337:21 [INFO] [stdout] | [INFO] [stdout] 337 | let (bodt, bodv) = top; [INFO] [stdout] | ^^^^^^^^^^^^ --- this expression has type `&TermTreeEvaluatedBody` [INFO] [stdout] | | [INFO] [stdout] | expected `TermTreeEvaluatedBody`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `TermTreeEvaluatedBody` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TermTreeEvaluatedBody` has no field named `mode` [INFO] [stdout] --> src/c_coc.rs:339:127 [INFO] [stdout] | [INFO] [stdout] 339 | ...(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Type, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ^^^^ `TermTreeEvaluatedBody` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TermTreeEvaluatedBody` has no field named `mode` [INFO] [stdout] --> src/c_coc.rs:340:127 [INFO] [stdout] | [INFO] [stdout] 340 | ...(), bod: bodv.quote(cur.next_ctx.id()), mode: Mode::Value, ctx: cur.next_ctx.clone() })), [INFO] [stdout] | ^^^^ `TermTreeEvaluatedBody` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/c_coc.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 273 | fn reduce(self: &mut Arc) -> Result { [INFO] [stdout] | -------------------- expected `Result` because of return type [INFO] [stdout] ... [INFO] [stdout] 350 | true [INFO] [stdout] | ^^^^ expected `Result`, found `bool` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result` [INFO] [stdout] found type `bool` [INFO] [stdout] help: try wrapping the expression in `Ok` [INFO] [stdout] | [INFO] [stdout] 350 | Ok(true) [INFO] [stdout] | +++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/b_coc.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn extend(self: &Arc, mut typ: Arc, bod: Arc) -> Arc { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `data` [INFO] [stdout] --> src/c_coc.rs:42:73 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ---- move occurs because `data` has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 42 | TermTree::LAM(a, b) => TermTree::LAM(a.apply(data), b.apply(data)), [INFO] [stdout] | ---- ^^^^ value used here after move [INFO] [stdout] | | [INFO] [stdout] | value moved here [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in method `apply` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/c_coc.rs:38:31 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ----- ^^^^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this method [INFO] [stdout] help: clone the value to increment its reference count [INFO] [stdout] | [INFO] [stdout] 42 | TermTree::LAM(a, b) => TermTree::LAM(a.apply(data.clone()), b.apply(data)), [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `data` [INFO] [stdout] --> src/c_coc.rs:43:73 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ---- move occurs because `data` has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 43 | TermTree::FOR(a, b) => TermTree::FOR(a.apply(data), b.apply(data)), [INFO] [stdout] | ---- ^^^^ value used here after move [INFO] [stdout] | | [INFO] [stdout] | value moved here [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in method `apply` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/c_coc.rs:38:31 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ----- ^^^^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this method [INFO] [stdout] help: clone the value to increment its reference count [INFO] [stdout] | [INFO] [stdout] 43 | TermTree::FOR(a, b) => TermTree::FOR(a.apply(data.clone()), b.apply(data)), [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `data` [INFO] [stdout] --> src/c_coc.rs:44:73 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ---- move occurs because `data` has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 44 | TermTree::APP(a, b) => TermTree::APP(a.apply(data), b.apply(data)), [INFO] [stdout] | ---- ^^^^ value used here after move [INFO] [stdout] | | [INFO] [stdout] | value moved here [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in method `apply` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/c_coc.rs:38:31 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn apply(&self, data: Arc) -> Arc { [INFO] [stdout] | ----- ^^^^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this method [INFO] [stdout] help: clone the value to increment its reference count [INFO] [stdout] | [INFO] [stdout] 44 | TermTree::APP(a, b) => TermTree::APP(a.apply(data.clone()), b.apply(data)), [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `self` [INFO] [stdout] --> src/c_coc.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn extend(self, typ: Arc) -> Self { [INFO] [stdout] | ---- move occurs because `self` has type `c_coc::Context`, which does not implement the `Copy` trait [INFO] [stdout] 109 | Context(Some(Arc::new(ContextInner { [INFO] [stdout] 110 | prev: self, [INFO] [stdout] | ---- value moved here [INFO] [stdout] 111 | i: self.id(), [INFO] [stdout] | ^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 110 | prev: self.clone(), [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self` as enum variant `Some` which is behind a shared reference [INFO] [stdout] --> src/c_coc.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | match self.0 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 118 | None => 0, [INFO] [stdout] 119 | Some(x) => x.i+1, [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `x` has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 117 | match &self.0 { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self` as enum variant `Some` which is behind a shared reference [INFO] [stdout] --> src/c_coc.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 124 | match self.0 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 125 | None => None, [INFO] [stdout] 126 | Some(x) => { [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `x` has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 124 | match &self.0 { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of an `Arc` [INFO] [stdout] --> src/c_coc.rs:130:26 [INFO] [stdout] | [INFO] [stdout] 130 | Some(x.typ) [INFO] [stdout] | ^^^^^ move occurs because value has type `Arc`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: clone the value to increment its reference count [INFO] [stdout] | [INFO] [stdout] 130 | Some(x.typ.clone()) [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/c_coc.rs:222:35 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn eval(self: &Arc, ctx: Context) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: internal compiler error: compiler/rustc_mir_build/src/builder/scope.rs:1724:17: cannot unwind from goto -> bb63 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] thread 'rustc' panicked at compiler/rustc_mir_build/src/builder/scope.rs:1724:17: [INFO] [stderr] Box [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x72ba89381caa - ::fmt::h636462e57d5ef1e1 [INFO] [stderr] 1: 0x72ba89a13cbc - core::fmt::write::h067060808ac50eb9 [INFO] [stderr] 2: 0x72ba8a928e11 - std::io::Write::write_fmt::h4674fa2ed7c0dfdd [INFO] [stderr] 3: 0x72ba89381b02 - std::sys::backtrace::BacktraceLock::print::h0c77148acfb0b5e9 [INFO] [stderr] 4: 0x72ba89383ffa - std::panicking::default_hook::{{closure}}::h30daa8e7c6ccb09d [INFO] [stderr] 5: 0x72ba89383e43 - std::panicking::default_hook::h25f21dc0f2064615 [INFO] [stderr] 6: 0x72ba884eff28 - std[b36e883d67eb0403]::panicking::update_hook::>::{closure#0} [INFO] [stderr] 7: 0x72ba893847b8 - std::panicking::rust_panic_with_hook::hc98438687e833605 [INFO] [stderr] 8: 0x72ba8852a341 - std[b36e883d67eb0403]::panicking::begin_panic::::{closure#0} [INFO] [stderr] 9: 0x72ba8851f526 - std[b36e883d67eb0403]::sys::backtrace::__rust_end_short_backtrace::::{closure#0}, !> [INFO] [stderr] 10: 0x72ba8851f50d - std[b36e883d67eb0403]::panicking::begin_panic:: [INFO] [stderr] 11: 0x72ba885342a1 - ::emit_producing_guarantee [INFO] [stderr] 12: 0x72ba88a84fdc - ::span_bug:: [INFO] [stderr] 13: 0x72ba88b0a897 - rustc_middle[8ad6e8ce52578819]::util::bug::opt_span_bug_fmt::::{closure#0} [INFO] [stderr] 14: 0x72ba88af006a - rustc_middle[8ad6e8ce52578819]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} [INFO] [stderr] 15: 0x72ba88aefefb - rustc_middle[8ad6e8ce52578819]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> [INFO] [stderr] 16: 0x72ba86f34437 - rustc_middle[8ad6e8ce52578819]::util::bug::span_bug_fmt:: [INFO] [stderr] 17: 0x72ba8a3d541b - ::build_unwind_tree [INFO] [stderr] 18: 0x72ba8a3cd7cd - rustc_mir_build[73684a27b88b946a]::builder::mir_build [INFO] [stderr] 19: 0x72ba89a07714 - rustc_mir_transform[857cd804783fef4d]::mir_built [INFO] [stderr] 20: 0x72ba89a076d7 - rustc_query_impl[1e55094a59e290f4]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 21: 0x72ba89c953d1 - rustc_query_system[67781f9dc633c543]::query::plumbing::try_execute_query::, rustc_query_system[67781f9dc633c543]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[1e55094a59e290f4]::plumbing::QueryCtxt, false> [INFO] [stderr] 22: 0x72ba89c94f8d - rustc_query_impl[1e55094a59e290f4]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 23: 0x72ba86a67185 - rustc_mir_build[73684a27b88b946a]::check_unsafety::check_unsafety [INFO] [stderr] 24: 0x72ba8a2e98a7 - rustc_query_impl[1e55094a59e290f4]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 25: 0x72ba8a2e9b69 - rustc_query_system[67781f9dc633c543]::query::plumbing::try_execute_query::, rustc_query_system[67781f9dc633c543]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[1e55094a59e290f4]::plumbing::QueryCtxt, false> [INFO] [stderr] 26: 0x72ba8a2e97d1 - rustc_query_impl[1e55094a59e290f4]::query_impl::check_unsafety::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 27: 0x72ba89e9bd32 - rustc_interface[b59e7ee7606ca029]::passes::run_required_analyses [INFO] [stderr] 28: 0x72ba8a92cc9e - rustc_interface[b59e7ee7606ca029]::passes::analysis [INFO] [stderr] 29: 0x72ba8a92cc6f - rustc_query_impl[1e55094a59e290f4]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 30: 0x72ba8a97b355 - rustc_query_system[67781f9dc633c543]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[1e55094a59e290f4]::plumbing::QueryCtxt, false> [INFO] [stderr] 31: 0x72ba8a97b08e - rustc_query_impl[1e55094a59e290f4]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 32: 0x72ba8a9701de - rustc_interface[b59e7ee7606ca029]::passes::create_and_enter_global_ctxt::, rustc_driver_impl[be5855d19ccc8b6c]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0} [INFO] [stderr] 33: 0x72ba8a9dff51 - rustc_interface[b59e7ee7606ca029]::interface::run_compiler::<(), rustc_driver_impl[be5855d19ccc8b6c]::run_compiler::{closure#0}>::{closure#1} [INFO] [stderr] 34: 0x72ba8a8f5087 - std[b36e883d67eb0403]::sys::backtrace::__rust_begin_short_backtrace::::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> [INFO] [stderr] 35: 0x72ba8a8f551c - <::spawn_unchecked_::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[303105738bd0c2ae]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stderr] 36: 0x72ba8a8f6aef - std::sys::pal::unix::thread::Thread::new::thread_start::ha554cc4ba6335b05 [INFO] [stderr] 37: 0x72ba8c108ac3 - [INFO] [stderr] 38: 0x72ba8c199a04 - clone [INFO] [stderr] 39: 0x0 - [INFO] [stderr] [INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md [INFO] [stderr] [INFO] [stderr] note: please make sure that you have updated to the latest nightly [INFO] [stderr] [INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2025-01-01T03_11_59-20.txt`: Read-only file system (os error 30) [INFO] [stderr] [INFO] [stderr] note: rustc 1.85.0-nightly (9b5e8b16b 2024-12-19) running on x86_64-unknown-linux-gnu [INFO] [stderr] [INFO] [stderr] note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 [INFO] [stderr] [INFO] [stderr] note: some of the compiler flags provided by cargo are hidden [INFO] [stderr] [INFO] [stderr] query stack during panic: [INFO] [stderr] #0 [mir_built] building MIR for `c_coc::::eval` [INFO] [stderr] #1 [check_unsafety] unsafety-checking `c_coc::::eval` [INFO] [stderr] #2 [analysis] running analysis passes on this crate [INFO] [stderr] end of query stack [INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0382, E0422, E0425, E0432, E0433, E0507, E0560. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `coc` (bin "c_coc_main") due to 63 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "6cd7daa1a13c3cd2652644778907f76af90fdc2d50212f8a823e1e1d26d5016a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6cd7daa1a13c3cd2652644778907f76af90fdc2d50212f8a823e1e1d26d5016a", kill_on_drop: false }` [INFO] [stdout] 6cd7daa1a13c3cd2652644778907f76af90fdc2d50212f8a823e1e1d26d5016a