[INFO] cloning repository https://github.com/oishik-biswas/mid-valyrian [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oishik-biswas/mid-valyrian" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foishik-biswas%2Fmid-valyrian", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foishik-biswas%2Fmid-valyrian'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 22bd4e4d29f8d4ab01f383d1394316c78f42c09e [INFO] checking oishik-biswas/mid-valyrian against try#099af82bc034c1e4895c90e5407fafdd61976cdb for pr-145457 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foishik-biswas%2Fmid-valyrian" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/oishik-biswas/mid-valyrian [INFO] finished tweaking git repo https://github.com/oishik-biswas/mid-valyrian [INFO] tweaked toml for git repo https://github.com/oishik-biswas/mid-valyrian written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/oishik-biswas/mid-valyrian on toolchain 099af82bc034c1e4895c90e5407fafdd61976cdb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+099af82bc034c1e4895c90e5407fafdd61976cdb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/oishik-biswas/mid-valyrian 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" "+099af82bc034c1e4895c90e5407fafdd61976cdb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: profile.dev.warnings [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+099af82bc034c1e4895c90e5407fafdd61976cdb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7e8f5c9978d873579205698419243517c99044a0f52ca74f4e009071a26dfa3e [INFO] running `Command { std: "docker" "start" "-a" "7e8f5c9978d873579205698419243517c99044a0f52ca74f4e009071a26dfa3e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e8f5c9978d873579205698419243517c99044a0f52ca74f4e009071a26dfa3e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e8f5c9978d873579205698419243517c99044a0f52ca74f4e009071a26dfa3e", kill_on_drop: false }` [INFO] [stdout] 7e8f5c9978d873579205698419243517c99044a0f52ca74f4e009071a26dfa3e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+099af82bc034c1e4895c90e5407fafdd61976cdb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4078a778c9fc9a69a72622aef5425ce26376808a68268a9ac322cbb339c023dd [INFO] running `Command { std: "docker" "start" "-a" "4078a778c9fc9a69a72622aef5425ce26376808a68268a9ac322cbb339c023dd", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: profile.dev.warnings [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking clap_builder v4.5.39 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Checking pest v2.8.0 [INFO] [stderr] Checking clap v4.5.39 [INFO] [stderr] Compiling pest_meta v2.8.0 [INFO] [stderr] Compiling pest_generator v2.8.0 [INFO] [stderr] Compiling pest_derive v2.8.0 [INFO] [stderr] Checking mid-valyrian v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/parser.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 243 | let op = match first.as_rule() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ------------------------------------------- matches all the relevant values [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 270 | (Subtract, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l - r)), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 275 | (Multiply, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l * r)), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 282 | (Divide, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l / r)), [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] 265 | (Add, Value::Float(l), Value::Float(r)) => Ok(Value::Float(l + r)), [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] 266 | (Add, Value::String(l), Value::String(r)) => Ok(Value::String(format!("{}{}", l, r))), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] 267 | (Add, Value::Integer(l), Value::Float(r)) => Ok(Value::Float((*l as f64) + r)), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ...and 18 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | _ => [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] 265 | (Add, Value::Float(l), Value::Float(r)) => Ok(Value::Float(l + r)), [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] 266 | (Add, Value::String(l), Value::String(r)) => Ok(Value::String(format!("{}{}", l, r))), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] 267 | (Add, Value::Integer(l), Value::Float(r)) => Ok(Value::Float((*l as f64) + r)), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 302 | _ => [INFO] [stdout] | ^ ...and 18 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `And` [INFO] [stdout] --> src/interpreter.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_And` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Or` [INFO] [stdout] --> src/interpreter.rs:289:14 [INFO] [stdout] | [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_Or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `GreaterEqual` [INFO] [stdout] --> src/interpreter.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | (GreaterEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l >= r)), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `LessEqual` [INFO] [stdout] --> src/interpreter.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Equals` [INFO] [stdout] --> src/interpreter.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | (Equals, l, r) => Ok(Value::Boolean(l == r)), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `NotEquals` [INFO] [stdout] --> src/interpreter.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_NotEquals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `And` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Or` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:289:14 [INFO] [stdout] | [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `GreaterEqual` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | (GreaterEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l >= r)), [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `greater_equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LessEqual` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `less_equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Equals` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | (Equals, l, r) => Ok(Value::Boolean(l == r)), [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NotEquals` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `not_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/parser.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 243 | let op = match first.as_rule() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ------------------------------------------- matches all the relevant values [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 270 | (Subtract, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l - r)), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 275 | (Multiply, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l * r)), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 282 | (Divide, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l / r)), [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] 265 | (Add, Value::Float(l), Value::Float(r)) => Ok(Value::Float(l + r)), [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] 266 | (Add, Value::String(l), Value::String(r)) => Ok(Value::String(format!("{}{}", l, r))), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] 267 | (Add, Value::Integer(l), Value::Float(r)) => Ok(Value::Float((*l as f64) + r)), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ...and 18 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | _ => [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 264 | (Add, Value::Integer(l), Value::Integer(r)) => Ok(Value::Integer(l + r)), [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] 265 | (Add, Value::Float(l), Value::Float(r)) => Ok(Value::Float(l + r)), [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] 266 | (Add, Value::String(l), Value::String(r)) => Ok(Value::String(format!("{}{}", l, r))), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] 267 | (Add, Value::Integer(l), Value::Float(r)) => Ok(Value::Float((*l as f64) + r)), [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 302 | _ => [INFO] [stdout] | ^ ...and 18 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `And` [INFO] [stdout] --> src/interpreter.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_And` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Or` [INFO] [stdout] --> src/interpreter.rs:289:14 [INFO] [stdout] | [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_Or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `GreaterEqual` [INFO] [stdout] --> src/interpreter.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | (GreaterEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l >= r)), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_GreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `LessEqual` [INFO] [stdout] --> src/interpreter.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_LessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Equals` [INFO] [stdout] --> src/interpreter.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | (Equals, l, r) => Ok(Value::Boolean(l == r)), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `NotEquals` [INFO] [stdout] --> src/interpreter.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_NotEquals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `And` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | (And, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l && *r)), [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Or` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:289:14 [INFO] [stdout] | [INFO] [stdout] 289 | (Or, Value::Boolean(l), Value::Boolean(r)) => Ok(Value::Boolean(*l || *r)), [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `GreaterEqual` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | (GreaterEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l >= r)), [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `greater_equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `LessEqual` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (LessEqual, Value::Integer(l), Value::Integer(r)) => Ok(Value::Boolean(l <= r)), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `less_equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Equals` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:298:14 [INFO] [stdout] | [INFO] [stdout] 298 | (Equals, l, r) => Ok(Value::Boolean(l == r)), [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `NotEquals` should have a snake case name [INFO] [stdout] --> src/interpreter.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | (NotEquals, l, r) => Ok(Value::Boolean(l != r)), [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `not_equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.88s [INFO] running `Command { std: "docker" "inspect" "4078a778c9fc9a69a72622aef5425ce26376808a68268a9ac322cbb339c023dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4078a778c9fc9a69a72622aef5425ce26376808a68268a9ac322cbb339c023dd", kill_on_drop: false }` [INFO] [stdout] 4078a778c9fc9a69a72622aef5425ce26376808a68268a9ac322cbb339c023dd