[INFO] cloning repository https://github.com/cooldudemcgeexl/crust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cooldudemcgeexl/crust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8415ad3fd465214e00bcd4786743a254e082fb60 [INFO] checking cooldudemcgeexl/crust against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cooldudemcgeexl/crust [INFO] finished tweaking git repo https://github.com/cooldudemcgeexl/crust [INFO] tweaked toml for git repo https://github.com/cooldudemcgeexl/crust written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cooldudemcgeexl/crust on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cooldudemcgeexl/crust 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" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca [INFO] running `Command { std: "docker" "start" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca", 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" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling semver v1.0.18 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling regex-syntax v0.7.4 [INFO] [stderr] Checking pin-project-lite v0.2.10 [INFO] [stderr] Checking futures-io v0.3.28 [INFO] [stderr] Compiling thiserror v1.0.44 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling relative-path v1.8.0 [INFO] [stderr] Checking futures-timer v3.0.2 [INFO] [stderr] Compiling aho-corasick v1.0.2 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling rstest_macros v0.18.1 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling syn v2.0.27 [INFO] [stderr] Compiling regex-automata v0.3.3 [INFO] [stderr] Compiling regex v1.9.1 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling thiserror-impl v1.0.44 [INFO] [stderr] Checking crust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(box_patterns)] [INFO] [stdout] | ^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in CURRENT_RUSTC_VERSION [INFO] [stdout] = note: superseded by `deref_patterns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:59:32 [INFO] [stdout] | [INFO] [stdout] 59 | Expression::AndExp(box expression, arith_op) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:77:31 [INFO] [stdout] | [INFO] [stdout] 77 | Expression::OrExp(box expression, arith_op) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | ArtihOp::AddOp(box arith_op, relation) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:147:34 [INFO] [stdout] | [INFO] [stdout] 147 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:147:71 [INFO] [stdout] | [INFO] [stdout] 147 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:149:37 [INFO] [stdout] | [INFO] [stdout] 149 | Type::Array(box Type::Float, l_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:150:37 [INFO] [stdout] | [INFO] [stdout] 150 | Type::Array(box Type::Float, r_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:164:34 [INFO] [stdout] | [INFO] [stdout] 164 | (Type::Array(box Type::Int, _), Type::Int) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:167:34 [INFO] [stdout] | [INFO] [stdout] 167 | (Type::Array(box Type::Int, _), Type::Float) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | (Type::Array(box Type::Float, _), Type::Int) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:179:34 [INFO] [stdout] | [INFO] [stdout] 179 | (Type::Array(box Type::Float, _), Type::Float) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:183:45 [INFO] [stdout] | [INFO] [stdout] 183 | (Type::Int, Type::Array(box Type::Int, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:186:47 [INFO] [stdout] | [INFO] [stdout] 186 | (Type::Float, Type::Array(box Type::Int, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:192:45 [INFO] [stdout] | [INFO] [stdout] 192 | (Type::Int, Type::Array(box Type::Float, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:198:47 [INFO] [stdout] | [INFO] [stdout] 198 | (Type::Float, Type::Array(box Type::Float, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:204:28 [INFO] [stdout] | [INFO] [stdout] 204 | ArtihOp::SubOp(box arith_op, relation) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:214:71 [INFO] [stdout] | [INFO] [stdout] 214 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 216 | Type::Array(box Type::Float, l_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:217:37 [INFO] [stdout] | [INFO] [stdout] 217 | Type::Array(box Type::Float, r_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:231:34 [INFO] [stdout] | [INFO] [stdout] 231 | (Type::Array(box Type::Int, _), Type::Int) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:234:34 [INFO] [stdout] | [INFO] [stdout] 234 | (Type::Array(box Type::Int, _), Type::Float) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:240:34 [INFO] [stdout] | [INFO] [stdout] 240 | (Type::Array(box Type::Float, _), Type::Int) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:246:34 [INFO] [stdout] | [INFO] [stdout] 246 | (Type::Array(box Type::Float, _), Type::Float) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | (Type::Int, Type::Array(box Type::Int, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:253:47 [INFO] [stdout] | [INFO] [stdout] 253 | (Type::Float, Type::Array(box Type::Int, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:259:45 [INFO] [stdout] | [INFO] [stdout] 259 | (Type::Int, Type::Array(box Type::Float, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:265:47 [INFO] [stdout] | [INFO] [stdout] 265 | (Type::Float, Type::Array(box Type::Float, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:364:32 [INFO] [stdout] | [INFO] [stdout] 364 | Relation::LessThan(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:369:34 [INFO] [stdout] | [INFO] [stdout] 369 | Relation::LessThanEq(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:374:35 [INFO] [stdout] | [INFO] [stdout] 374 | Relation::GreaterThan(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:379:37 [INFO] [stdout] | [INFO] [stdout] 379 | Relation::GreaterThanEq(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:384:30 [INFO] [stdout] | [INFO] [stdout] 384 | Relation::Equals(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:389:33 [INFO] [stdout] | [INFO] [stdout] 389 | Relation::NotEquals(box relation, term) => { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:446:34 [INFO] [stdout] | [INFO] [stdout] 446 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:446:71 [INFO] [stdout] | [INFO] [stdout] 446 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:448:37 [INFO] [stdout] | [INFO] [stdout] 448 | Type::Array(box Type::Float, l_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:449:37 [INFO] [stdout] | [INFO] [stdout] 449 | Type::Array(box Type::Float, r_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:463:34 [INFO] [stdout] | [INFO] [stdout] 463 | (Type::Array(box Type::Int, _), Type::Int) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:466:34 [INFO] [stdout] | [INFO] [stdout] 466 | (Type::Array(box Type::Int, _), Type::Float) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:469:34 [INFO] [stdout] | [INFO] [stdout] 469 | (Type::Array(box Type::Float, _), Type::Int) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:472:34 [INFO] [stdout] | [INFO] [stdout] 472 | (Type::Array(box Type::Float, _), Type::Float) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:476:45 [INFO] [stdout] | [INFO] [stdout] 476 | (Type::Int, Type::Array(box Type::Int, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:479:47 [INFO] [stdout] | [INFO] [stdout] 479 | (Type::Float, Type::Array(box Type::Int, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:482:45 [INFO] [stdout] | [INFO] [stdout] 482 | (Type::Int, Type::Array(box Type::Float, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:485:47 [INFO] [stdout] | [INFO] [stdout] 485 | (Type::Float, Type::Array(box Type::Float, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:503:34 [INFO] [stdout] | [INFO] [stdout] 503 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:503:71 [INFO] [stdout] | [INFO] [stdout] 503 | (Type::Array(box Type::Int, l_bound), Type::Array(box Type::Int, r_bound)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:505:37 [INFO] [stdout] | [INFO] [stdout] 505 | Type::Array(box Type::Float, l_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:506:37 [INFO] [stdout] | [INFO] [stdout] 506 | Type::Array(box Type::Float, r_bound), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:520:34 [INFO] [stdout] | [INFO] [stdout] 520 | (Type::Array(box Type::Int, _), Type::Int) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:523:34 [INFO] [stdout] | [INFO] [stdout] 523 | (Type::Array(box Type::Int, _), Type::Float) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:526:34 [INFO] [stdout] | [INFO] [stdout] 526 | (Type::Array(box Type::Float, _), Type::Int) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:529:34 [INFO] [stdout] | [INFO] [stdout] 529 | (Type::Array(box Type::Float, _), Type::Float) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:533:45 [INFO] [stdout] | [INFO] [stdout] 533 | (Type::Int, Type::Array(box Type::Int, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:536:47 [INFO] [stdout] | [INFO] [stdout] 536 | (Type::Float, Type::Array(box Type::Int, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:539:45 [INFO] [stdout] | [INFO] [stdout] 539 | (Type::Int, Type::Array(box Type::Float, _)) => Ok( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:542:47 [INFO] [stdout] | [INFO] [stdout] 542 | (Type::Float, Type::Array(box Type::Float, _)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:591:38 [INFO] [stdout] | [INFO] [stdout] 591 | Factor::NestedExpression(box expression) => Ok(AnalyzedFactor::NestedExpression( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:635:46 [INFO] [stdout] | [INFO] [stdout] 635 | AnalyzedFactor::NestedExpression(box expression) => expression.get_type(context), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/semantics/expression.rs:681:21 [INFO] [stdout] | [INFO] [stdout] 681 | if let Some(box expression) = value.expression { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `expression` in this scope [INFO] [stdout] --> src/semantics/expression.rs:61:73 [INFO] [stdout] | [INFO] [stdout] 61 | let expression = AnalyzedExpression::analyze_expression(expression, context)?; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `expression` in this scope [INFO] [stdout] --> src/semantics/expression.rs:79:73 [INFO] [stdout] | [INFO] [stdout] 79 | let expression = AnalyzedExpression::analyze_expression(expression, context)?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `expression` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | let expression = AnalyzedExpression::analyze_expression(expression, context)?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arith_op` in this scope [INFO] [stdout] --> src/semantics/expression.rs:138:68 [INFO] [stdout] | [INFO] [stdout] 138 | let arith_op = AnalyzedArithOp::analyze_expression(arith_op, context)?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arith_op` in this scope [INFO] [stdout] --> src/semantics/expression.rs:205:68 [INFO] [stdout] | [INFO] [stdout] 205 | let arith_op = AnalyzedArithOp::analyze_expression(arith_op, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `arith_op` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | let arith_op = AnalyzedArithOp::analyze_expression(arith_op, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:366:54 [INFO] [stdout] | [INFO] [stdout] 366 | AnalyzedRelation::try_compatible(relation, term, false, context)?; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:371:54 [INFO] [stdout] | [INFO] [stdout] 371 | AnalyzedRelation::try_compatible(relation, term, false, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `relation` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:365:22 [INFO] [stdout] | [INFO] [stdout] 365 | let (relation, term) = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:376:54 [INFO] [stdout] | [INFO] [stdout] 376 | AnalyzedRelation::try_compatible(relation, term, false, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `relation` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:370:22 [INFO] [stdout] | [INFO] [stdout] 370 | let (relation, term) = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:381:54 [INFO] [stdout] | [INFO] [stdout] 381 | AnalyzedRelation::try_compatible(relation, term, false, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `relation` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:375:22 [INFO] [stdout] | [INFO] [stdout] 375 | let (relation, term) = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:386:54 [INFO] [stdout] | [INFO] [stdout] 386 | AnalyzedRelation::try_compatible(relation, term, true, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `relation` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:380:22 [INFO] [stdout] | [INFO] [stdout] 380 | let (relation, term) = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `relation` in this scope [INFO] [stdout] --> src/semantics/expression.rs:391:54 [INFO] [stdout] | [INFO] [stdout] 391 | AnalyzedRelation::try_compatible(relation, term, true, context)?; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `relation` is available in a different scope in the same function [INFO] [stdout] --> src/semantics/expression.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let (relation, term) = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `expression` in this scope [INFO] [stdout] --> src/semantics/expression.rs:592:65 [INFO] [stdout] | [INFO] [stdout] 592 | Box::new(AnalyzedExpression::analyze_expression(expression, context)?), [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `expression` in this scope [INFO] [stdout] --> src/semantics/expression.rs:635:65 [INFO] [stdout] | [INFO] [stdout] 635 | AnalyzedFactor::NestedExpression(box expression) => expression.get_type(context), [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `expression` in this scope [INFO] [stdout] --> src/semantics/expression.rs:682:69 [INFO] [stdout] | [INFO] [stdout] 682 | let expression = AnalyzedExpression::analyze_expression(expression, context)?; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thiserror::Error` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use thiserror::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/parser/procedure.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use super::declaratons::{self, Declaration, VariableDeclaration}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/scanner/stripper.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs` and `io` [INFO] [stdout] --> src/scanner/stripper.rs:87:11 [INFO] [stdout] | [INFO] [stdout] 87 | use std::{fs, io}; [INFO] [stdout] | ^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/scanner.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/scanner.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thiserror::Error` [INFO] [stdout] --> src/semantics/context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use thiserror::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thiserror::Error` [INFO] [stdout] --> src/semantics/procedure.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use thiserror::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::types::Identifier` [INFO] [stdout] --> src/semantics/procedure.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::parser::types::Identifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/scanner.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let mut line_number = 0u32; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_number` [INFO] [stdout] --> src/scanner.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let mut line_number = 0u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/scanner.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | for (index, curr_char) in cleaned_file.chars().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/semantics/expression.rs:657:42 [INFO] [stdout] | [INFO] [stdout] 657 | fn analyze_expression(value: Number, context: &mut Context) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/semantics/expression.rs:665:24 [INFO] [stdout] | [INFO] [stdout] 665 | fn get_type(&self, context: &Context) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/semantics/procedure.rs:117:24 [INFO] [stdout] | [INFO] [stdout] 117 | fn get_type(&self, context: &Context) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scope` [INFO] [stdout] --> src/semantics/statement.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | scope: &super::context::Scope, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parsed_output` [INFO] [stdout] --> src/main.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | let (parsed_input, parsed_output) = parse_args()?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_result` [INFO] [stdout] --> src/main.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let main_result = compile_file(&parsed_input)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | let mut file_contents = fs::read_to_string(file_path)?; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let file_name = file_path.to_str(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: could not compile `crust` (bin "crust") due to 75 previous errors; 20 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca", kill_on_drop: false }` [INFO] [stdout] 9c27df09b20529a25300164442ab056f14dc48bcb5775fe0dce331218e832eca