[INFO] fetching crate relo 0.1.2... [INFO] checking relo-0.1.2 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate relo 0.1.2 into /workspace/builds/worker-7-tc1/source [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate relo 0.1.2 [INFO] finished tweaking crates.io crate relo 0.1.2 [INFO] tweaked toml for crates.io crate relo 0.1.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate relo 0.1.2 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate relo 0.1.2 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded color-eyre v0.6.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b7c9964a0eb9dd8eb059cbff708b40f107f1250c7cfe171619fecc6b3771d433 [INFO] running `Command { std: "docker" "start" "-a" "b7c9964a0eb9dd8eb059cbff708b40f107f1250c7cfe171619fecc6b3771d433", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b7c9964a0eb9dd8eb059cbff708b40f107f1250c7cfe171619fecc6b3771d433", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7c9964a0eb9dd8eb059cbff708b40f107f1250c7cfe171619fecc6b3771d433", kill_on_drop: false }` [INFO] [stdout] b7c9964a0eb9dd8eb059cbff708b40f107f1250c7cfe171619fecc6b3771d433 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8e0ee728d16cd962bbd8992b2d40cd14b3d262c36b870e1132f1bdafbed37a75 [INFO] running `Command { std: "docker" "start" "-a" "8e0ee728d16cd962bbd8992b2d40cd14b3d262c36b870e1132f1bdafbed37a75", kill_on_drop: false }` [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Compiling serde v1.0.196 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking similar v2.4.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Checking tracing-error v0.2.0 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking color-spantrace v0.2.1 [INFO] [stderr] Checking insta v1.34.0 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Checking color-eyre v0.6.2 [INFO] [stderr] Checking relo v0.1.2 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(inline_const_pat)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.88.0; see for more information [INFO] [stdout] = note: removed due to implementation concerns as it requires significant refactorings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:179:32 [INFO] [stdout] | [INFO] [stdout] 179 | ... if let Instruction::Jump(offset) = instr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:196:16 [INFO] [stdout] | [INFO] [stdout] 196 | if let CompilerValue::Function(func) = val [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | while let Some(local) = locals_iter.next() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter.rs:505:23 [INFO] [stdout] | [INFO] [stdout] 505 | while let Value::Bool(val) = condition.visit(self)? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/lexer/mod.rs:177:20 [INFO] [stdout] | [INFO] [stdout] 177 | && let Some(' ') = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:277:19 [INFO] [stdout] | [INFO] [stdout] 277 | const { KeyWord::ForRangeStart.as_str() } => KeyWord::ForRangeStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:278:19 [INFO] [stdout] | [INFO] [stdout] 278 | const { KeyWord::WhileLoop.as_str() } => KeyWord::WhileLoop.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:279:19 [INFO] [stdout] | [INFO] [stdout] 279 | const { KeyWord::ElseCond.as_str() } => KeyWord::ElseCond.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:280:19 [INFO] [stdout] | [INFO] [stdout] 280 | const { KeyWord::IfCond.as_str() } => KeyWord::IfCond.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:281:19 [INFO] [stdout] | [INFO] [stdout] 281 | const { KeyWord::FuncReturn.as_str() } => KeyWord::FuncReturn.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:282:19 [INFO] [stdout] | [INFO] [stdout] 282 | const { KeyWord::Print.as_str() } => KeyWord::Print.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:283:19 [INFO] [stdout] | [INFO] [stdout] 283 | const { KeyWord::ProgramStart.as_str() } => KeyWord::ProgramStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | const { KeyWord::StartDeclare.as_str() } => KeyWord::StartDeclare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:285:19 [INFO] [stdout] | [INFO] [stdout] 285 | const { KeyWord::ForRangeEnd.as_str() } => KeyWord::ForRangeEnd.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:286:19 [INFO] [stdout] | [INFO] [stdout] 286 | const { KeyWord::EndFunc.as_str() } => KeyWord::EndFunc.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | const { KeyWord::Assign.as_str() } => KeyWord::Assign.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:288:19 [INFO] [stdout] | [INFO] [stdout] 288 | const { KeyWord::Declare.as_str() } => KeyWord::Declare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:289:19 [INFO] [stdout] | [INFO] [stdout] 289 | const { KeyWord::FuncCall.as_str() } => KeyWord::FuncCall.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:290:19 [INFO] [stdout] | [INFO] [stdout] 290 | const { KeyWord::EndBlock.as_str() } => KeyWord::EndBlock.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:291:19 [INFO] [stdout] | [INFO] [stdout] 291 | const { KeyWord::ForStart.as_str() } => KeyWord::ForStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:292:19 [INFO] [stdout] | [INFO] [stdout] 292 | const { KeyWord::BreakLoop.as_str() } => KeyWord::BreakLoop.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:293:19 [INFO] [stdout] | [INFO] [stdout] 293 | const { KeyWord::ProgramEnd.as_str() } => KeyWord::ProgramEnd.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:304:19 [INFO] [stdout] | [INFO] [stdout] 304 | const { KeyWord::FuncDeclare.as_str() } => KeyWord::FuncDeclare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:313:15 [INFO] [stdout] | [INFO] [stdout] 313 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:395:23 [INFO] [stdout] | [INFO] [stdout] 395 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:409:31 [INFO] [stdout] | [INFO] [stdout] 409 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:489:23 [INFO] [stdout] | [INFO] [stdout] 489 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(inline_const_pat)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.88.0; see for more information [INFO] [stdout] = note: removed due to implementation concerns as it requires significant refactorings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:179:32 [INFO] [stdout] | [INFO] [stdout] 179 | ... if let Instruction::Jump(offset) = instr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:196:16 [INFO] [stdout] | [INFO] [stdout] 196 | if let CompilerValue::Function(func) = val [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/compiler.rs:216:15 [INFO] [stdout] | [INFO] [stdout] 216 | while let Some(local) = locals_iter.next() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter.rs:505:23 [INFO] [stdout] | [INFO] [stdout] 505 | while let Value::Bool(val) = condition.visit(self)? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/lexer/mod.rs:177:20 [INFO] [stdout] | [INFO] [stdout] 177 | && let Some(' ') = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:277:19 [INFO] [stdout] | [INFO] [stdout] 277 | const { KeyWord::ForRangeStart.as_str() } => KeyWord::ForRangeStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:278:19 [INFO] [stdout] | [INFO] [stdout] 278 | const { KeyWord::WhileLoop.as_str() } => KeyWord::WhileLoop.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:279:19 [INFO] [stdout] | [INFO] [stdout] 279 | const { KeyWord::ElseCond.as_str() } => KeyWord::ElseCond.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:280:19 [INFO] [stdout] | [INFO] [stdout] 280 | const { KeyWord::IfCond.as_str() } => KeyWord::IfCond.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:281:19 [INFO] [stdout] | [INFO] [stdout] 281 | const { KeyWord::FuncReturn.as_str() } => KeyWord::FuncReturn.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:282:19 [INFO] [stdout] | [INFO] [stdout] 282 | const { KeyWord::Print.as_str() } => KeyWord::Print.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:283:19 [INFO] [stdout] | [INFO] [stdout] 283 | const { KeyWord::ProgramStart.as_str() } => KeyWord::ProgramStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | const { KeyWord::StartDeclare.as_str() } => KeyWord::StartDeclare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:285:19 [INFO] [stdout] | [INFO] [stdout] 285 | const { KeyWord::ForRangeEnd.as_str() } => KeyWord::ForRangeEnd.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:286:19 [INFO] [stdout] | [INFO] [stdout] 286 | const { KeyWord::EndFunc.as_str() } => KeyWord::EndFunc.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | const { KeyWord::Assign.as_str() } => KeyWord::Assign.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:288:19 [INFO] [stdout] | [INFO] [stdout] 288 | const { KeyWord::Declare.as_str() } => KeyWord::Declare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:289:19 [INFO] [stdout] | [INFO] [stdout] 289 | const { KeyWord::FuncCall.as_str() } => KeyWord::FuncCall.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:290:19 [INFO] [stdout] | [INFO] [stdout] 290 | const { KeyWord::EndBlock.as_str() } => KeyWord::EndBlock.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:291:19 [INFO] [stdout] | [INFO] [stdout] 291 | const { KeyWord::ForStart.as_str() } => KeyWord::ForStart.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:292:19 [INFO] [stdout] | [INFO] [stdout] 292 | const { KeyWord::BreakLoop.as_str() } => KeyWord::BreakLoop.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:293:19 [INFO] [stdout] | [INFO] [stdout] 293 | const { KeyWord::ProgramEnd.as_str() } => KeyWord::ProgramEnd.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: const blocks cannot be used as patterns [INFO] [stdout] --> src/lexer/mod.rs:304:19 [INFO] [stdout] | [INFO] [stdout] 304 | const { KeyWord::FuncDeclare.as_str() } => KeyWord::FuncDeclare.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: use a named `const`-item or an `if`-guard (`x if x == const { ... }`) instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:313:15 [INFO] [stdout] | [INFO] [stdout] 313 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:395:23 [INFO] [stdout] | [INFO] [stdout] 395 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:409:31 [INFO] [stdout] | [INFO] [stdout] 409 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser.rs:489:23 [INFO] [stdout] | [INFO] [stdout] 489 | while let Some(token) = self.peek() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(let_chains)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(let_chains)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `relo` (bin "relo") due to 29 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `relo` (bin "relo" test) due to 29 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "8e0ee728d16cd962bbd8992b2d40cd14b3d262c36b870e1132f1bdafbed37a75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e0ee728d16cd962bbd8992b2d40cd14b3d262c36b870e1132f1bdafbed37a75", kill_on_drop: false }` [INFO] [stdout] 8e0ee728d16cd962bbd8992b2d40cd14b3d262c36b870e1132f1bdafbed37a75