[INFO] cloning repository https://github.com/vidur2/vmod-lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vidur2/vmod-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2fe96a11cf792e5c79462f3543550ea8465ccbff [INFO] checking vidur2/vmod-lang against try#2b43d8e161cfe46fae25518efb124c3c1d0fa392 for pr-145604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/vidur2/vmod-lang [INFO] finished tweaking git repo https://github.com/vidur2/vmod-lang [INFO] tweaked toml for git repo https://github.com/vidur2/vmod-lang written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/vidur2/vmod-lang on toolchain 2b43d8e161cfe46fae25518efb124c3c1d0fa392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b43d8e161cfe46fae25518efb124c3c1d0fa392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/vidur2/vmod-lang 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" "+2b43d8e161cfe46fae25518efb124c3c1d0fa392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+2b43d8e161cfe46fae25518efb124c3c1d0fa392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7eda38301c81f0605a2c9900d7518e32e6a4593fe21f470c5f6c18af6205f0ce [INFO] running `Command { std: "docker" "start" "-a" "7eda38301c81f0605a2c9900d7518e32e6a4593fe21f470c5f6c18af6205f0ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7eda38301c81f0605a2c9900d7518e32e6a4593fe21f470c5f6c18af6205f0ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7eda38301c81f0605a2c9900d7518e32e6a4593fe21f470c5f6c18af6205f0ce", kill_on_drop: false }` [INFO] [stdout] 7eda38301c81f0605a2c9900d7518e32e6a4593fe21f470c5f6c18af6205f0ce [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "-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" "+2b43d8e161cfe46fae25518efb124c3c1d0fa392" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38f590f59dc286f1202b7e4c5a18b8a96ba16eb5dd1de061e3d251f997e73762 [INFO] running `Command { std: "docker" "start" "-a" "38f590f59dc286f1202b7e4c5a18b8a96ba16eb5dd1de061e3d251f997e73762", kill_on_drop: false }` [INFO] [stderr] Checking vmod v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:75:65 [INFO] [stdout] | [INFO] [stdout] 75 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:82:28 [INFO] [stdout] | [INFO] [stdout] 82 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:82:65 [INFO] [stdout] | [INFO] [stdout] 82 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:89:58 [INFO] [stdout] | [INFO] [stdout] 89 | if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:89:96 [INFO] [stdout] | [INFO] [stdout] 89 | if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:91:67 [INFO] [stdout] | [INFO] [stdout] 91 | ... } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:91:107 [INFO] [stdout] | [INFO] [stdout] 91 | ... } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:109:72 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:122:63 [INFO] [stdout] | [INFO] [stdout] 122 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:124:72 [INFO] [stdout] | [INFO] [stdout] 124 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 131 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:131:63 [INFO] [stdout] | [INFO] [stdout] 131 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:133:72 [INFO] [stdout] | [INFO] [stdout] 133 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:207:32 [INFO] [stdout] | [INFO] [stdout] 207 | if bool_val && let Some(expr) = ternary.true_cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | } else if !bool_val && let Some(expr) = ternary.false_cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | if let Primitive::Int(int) = idx && (int as usize) < vec.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:40 [INFO] [stdout] | [INFO] [stdout] 368 | ... if let Primitive::Env(env) = self.evaluate(¶ms[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:96 [INFO] [stdout] | [INFO] [stdout] 368 | ... if let Primitive::Env(env) = self.evaluate(¶ms[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:153 [INFO] [stdout] | [INFO] [stdout] 368 | ...ring(string) = env.retrieve("list")? && let Primitive::List(list_uw) = env.retrieve(&string)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:382:48 [INFO] [stdout] | [INFO] [stdout] 382 | ... if let Primitive::Int(idx1) = self.evaluate(¶ms[0])? && let Primitive::Int(idx2) = self.evaluate(¶ms[1])? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:382:105 [INFO] [stdout] | [INFO] [stdout] 382 | ... if let Primitive::Int(idx1) = self.evaluate(¶ms[0])? && let Primitive::Int(idx2) = self.evaluate(¶ms[1])? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:75:65 [INFO] [stdout] | [INFO] [stdout] 75 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:82:28 [INFO] [stdout] | [INFO] [stdout] 82 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:82:65 [INFO] [stdout] | [INFO] [stdout] 82 | if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:89:58 [INFO] [stdout] | [INFO] [stdout] 89 | if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:89:96 [INFO] [stdout] | [INFO] [stdout] 89 | if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:91:67 [INFO] [stdout] | [INFO] [stdout] 91 | ... } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:91:107 [INFO] [stdout] | [INFO] [stdout] 91 | ... } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:109:72 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:122:63 [INFO] [stdout] | [INFO] [stdout] 122 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:124:72 [INFO] [stdout] | [INFO] [stdout] 124 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:131:28 [INFO] [stdout] | [INFO] [stdout] 131 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:131:63 [INFO] [stdout] | [INFO] [stdout] 131 | if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:133:72 [INFO] [stdout] | [INFO] [stdout] 133 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:153:28 [INFO] [stdout] | [INFO] [stdout] 153 | if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:153:71 [INFO] [stdout] | [INFO] [stdout] 153 | if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:207:32 [INFO] [stdout] | [INFO] [stdout] 207 | if bool_val && let Some(expr) = ternary.true_cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | } else if !bool_val && let Some(expr) = ternary.false_cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | if let Primitive::Int(int) = idx && (int as usize) < vec.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:40 [INFO] [stdout] | [INFO] [stdout] 368 | ... if let Primitive::Env(env) = self.evaluate(¶ms[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:96 [INFO] [stdout] | [INFO] [stdout] 368 | ... if let Primitive::Env(env) = self.evaluate(¶ms[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:368:153 [INFO] [stdout] | [INFO] [stdout] 368 | ...ring(string) = env.retrieve("list")? && let Primitive::List(list_uw) = env.retrieve(&string)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:382:48 [INFO] [stdout] | [INFO] [stdout] 382 | ... if let Primitive::Int(idx1) = self.evaluate(¶ms[0])? && let Primitive::Int(idx2) = self.evaluate(¶ms[1])? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/interpreter/interpreter.rs:382:105 [INFO] [stdout] | [INFO] [stdout] 382 | ... if let Primitive::Int(idx1) = self.evaluate(¶ms[0])? && let Primitive::Int(idx2) = self.evaluate(¶ms[1])? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:604:24 [INFO] [stdout] | [INFO] [stdout] 604 | if let Err(err) = res && TokenType::RIGHT_PAREN != self.peek().tok { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/scanner/token.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/scanner/token.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:153:28 [INFO] [stdout] | [INFO] [stdout] 153 | if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:153:71 [INFO] [stdout] | [INFO] [stdout] 153 | if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/parser/parser.rs:604:24 [INFO] [stdout] | [INFO] [stdout] 604 | if let Err(err) = res && TokenType::RIGHT_PAREN != self.peek().tok { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/ast/ast_traits.rs:2:52 [INFO] [stdout] | [INFO] [stdout] 2 | error_reporting::{interp_err::InterpException, parsing_err::ParsingException}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VecDeque` and `fs::ReadDir` [INFO] [stdout] --> src/import_sys/import_sys.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashSet, VecDeque}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | fs::ReadDir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Func`, `Literal`, `Scope`, `Stmt`, and `environment::Environment` [INFO] [stdout] --> src/import_sys/import_sys.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | ast::expr_types::{ExprPossibilities, Literal, Scope, Stmt}, [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] 8 | interpreter::{environment::Environment, interpreter::Interpreter}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | token::{Func, Token, TokenType}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/interpreter/environment.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | error_reporting::{interp_err::InterpException, parsing_err::ParsingException}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Deref` and `rc::Rc` [INFO] [stdout] --> src/interpreter/interpreter.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, ops::Deref, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/interpreter/interpreter.rs:9:66 [INFO] [stdout] | [INFO] [stdout] 9 | error_reporter::Unwindable, interp_err::InterpException, parsing_err::ParsingException, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error_reporting::interp_err::InterpException` [INFO] [stdout] --> src/lib_functions/list_ops.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{error_reporting::interp_err::InterpException, scanner::token::Primitive}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ast::expr_types::ExprPossibilities` [INFO] [stdout] --> src/lib_functions/math.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | ast::expr_types::ExprPossibilities, error_reporting::interp_err::InterpException, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ast::ast_traits::Interperable` [INFO] [stdout] --> src/scanner/scanner.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | ast::ast_traits::Interperable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet`, `convert::TryInto`, and `ops::Add` [INFO] [stdout] --> src/scanner/token.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | convert::TryInto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | fmt::Display, [INFO] [stdout] 5 | ops::Add, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stmt` [INFO] [stdout] --> src/scanner/token.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | ast::expr_types::{Scope, Stmt}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_SQUARE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | LEFT_SQUARE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSquare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_SQUARE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | RIGHT_SQUARE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSquare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/scanner/token.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: let chains are only allowed in Rust 2024 or later [INFO] [stdout] --> src/scanner/token.rs:250:45 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){ [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/lib.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 `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(const_mut_refs)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/ast/ast_traits.rs:2:52 [INFO] [stdout] | [INFO] [stdout] 2 | error_reporting::{interp_err::InterpException, parsing_err::ParsingException}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VecDeque` and `fs::ReadDir` [INFO] [stdout] --> src/import_sys/import_sys.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashSet, VecDeque}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | fs::ReadDir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Func`, `Literal`, `Scope`, `Stmt`, and `environment::Environment` [INFO] [stdout] --> src/import_sys/import_sys.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | ast::expr_types::{ExprPossibilities, Literal, Scope, Stmt}, [INFO] [stdout] | ^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] 8 | interpreter::{environment::Environment, interpreter::Interpreter}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | token::{Func, Token, TokenType}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/interpreter/environment.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | error_reporting::{interp_err::InterpException, parsing_err::ParsingException}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Deref` and `rc::Rc` [INFO] [stdout] --> src/interpreter/interpreter.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, ops::Deref, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parsing_err::ParsingException` [INFO] [stdout] --> src/interpreter/interpreter.rs:9:66 [INFO] [stdout] | [INFO] [stdout] 9 | error_reporter::Unwindable, interp_err::InterpException, parsing_err::ParsingException, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error_reporting::interp_err::InterpException` [INFO] [stdout] --> src/lib_functions/list_ops.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{error_reporting::interp_err::InterpException, scanner::token::Primitive}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ast::expr_types::ExprPossibilities` [INFO] [stdout] --> src/lib_functions/math.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | ast::expr_types::ExprPossibilities, error_reporting::interp_err::InterpException, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ast::ast_traits::Interperable` [INFO] [stdout] --> src/scanner/scanner.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | ast::ast_traits::Interperable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet`, `convert::TryInto`, and `ops::Add` [INFO] [stdout] --> src/scanner/token.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | convert::TryInto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | fmt::Display, [INFO] [stdout] 5 | ops::Add, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stmt` [INFO] [stdout] --> src/scanner/token.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | ast::expr_types::{Scope, Stmt}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LEFT_SQUARE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | LEFT_SQUARE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSquare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RIGHT_SQUARE` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | RIGHT_SQUARE, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSquare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual` [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/lib.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 `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(const_mut_refs)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prim` [INFO] [stdout] --> src/interpreter/interpreter.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(prim) = eval { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prim` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num2` [INFO] [stdout] --> src/interpreter/interpreter.rs:109:93 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_num2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/parser/parser.rs:429:17 [INFO] [stdout] | [INFO] [stdout] 429 | let ident = self.previous(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/parser/parser.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | let operator = self.advance(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/parser/parser.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | let expr = self.expression()?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prim` [INFO] [stdout] --> src/interpreter/interpreter.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | if let Ok(prim) = eval { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prim` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num2` [INFO] [stdout] --> src/interpreter/interpreter.rs:109:93 [INFO] [stdout] | [INFO] [stdout] 109 | } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_num2` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `vmod` (lib) due to 31 previous errors; 28 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/parser/parser.rs:429:17 [INFO] [stdout] | [INFO] [stdout] 429 | let ident = self.previous(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operator` [INFO] [stdout] --> src/parser/parser.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | let operator = self.advance(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/parser/parser.rs:432:21 [INFO] [stdout] | [INFO] [stdout] 432 | let expr = self.expression()?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `vmod` (lib test) due to 31 previous errors; 28 warnings emitted [INFO] running `Command { std: "docker" "inspect" "38f590f59dc286f1202b7e4c5a18b8a96ba16eb5dd1de061e3d251f997e73762", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38f590f59dc286f1202b7e4c5a18b8a96ba16eb5dd1de061e3d251f997e73762", kill_on_drop: false }` [INFO] [stdout] 38f590f59dc286f1202b7e4c5a18b8a96ba16eb5dd1de061e3d251f997e73762