[INFO] cloning repository https://github.com/grandmasponge/Bexs-interpreter-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/grandmasponge/Bexs-interpreter-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrandmasponge%2FBexs-interpreter-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrandmasponge%2FBexs-interpreter-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2944d65c1277c83c6c6d1511baf23311003279d0 [INFO] checking grandmasponge/Bexs-interpreter-rust against try#e90f1ff63e694965281f833819a486da29772bdf for pr-146167 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgrandmasponge%2FBexs-interpreter-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/grandmasponge/Bexs-interpreter-rust [INFO] finished tweaking git repo https://github.com/grandmasponge/Bexs-interpreter-rust [INFO] tweaked toml for git repo https://github.com/grandmasponge/Bexs-interpreter-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/grandmasponge/Bexs-interpreter-rust on toolchain e90f1ff63e694965281f833819a486da29772bdf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e90f1ff63e694965281f833819a486da29772bdf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/grandmasponge/Bexs-interpreter-rust 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" "+e90f1ff63e694965281f833819a486da29772bdf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v2.0.70 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+e90f1ff63e694965281f833819a486da29772bdf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] abb3c1d22b7062d033ab0a1b564ce46996efe6d5f6a963f64c62f21bca5672a0 [INFO] running `Command { std: "docker" "start" "-a" "abb3c1d22b7062d033ab0a1b564ce46996efe6d5f6a963f64c62f21bca5672a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "abb3c1d22b7062d033ab0a1b564ce46996efe6d5f6a963f64c62f21bca5672a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abb3c1d22b7062d033ab0a1b564ce46996efe6d5f6a963f64c62f21bca5672a0", kill_on_drop: false }` [INFO] [stdout] abb3c1d22b7062d033ab0a1b564ce46996efe6d5f6a963f64c62f21bca5672a0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+e90f1ff63e694965281f833819a486da29772bdf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d4fd9075351e6ff9a58c553a2cce8a86bfae72cb2e74bfe85d2bd4ca3f4149f4 [INFO] running `Command { std: "docker" "start" "-a" "d4fd9075351e6ff9a58c553a2cce8a86bfae72cb2e74bfe85d2bd4ca3f4149f4", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Compiling syn v2.0.70 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Checking interpreter-starter-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/eval.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/eval.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expr::ExprError` [INFO] [stdout] --> src/eval.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::expr::ExprError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:222:43 [INFO] [stdout] | [INFO] [stdout] 222 | return Ok(Value::Bool((lhs < rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 222 - return Ok(Value::Bool((lhs < rhs))); [INFO] [stdout] 222 + return Ok(Value::Bool(lhs < rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | return Ok(Value::Bool((lhs > rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 241 - return Ok(Value::Bool((lhs > rhs))); [INFO] [stdout] 241 + return Ok(Value::Bool(lhs > rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:260:43 [INFO] [stdout] | [INFO] [stdout] 260 | return Ok(Value::Bool((lhs >= rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 260 - return Ok(Value::Bool((lhs >= rhs))); [INFO] [stdout] 260 + return Ok(Value::Bool(lhs >= rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:279:43 [INFO] [stdout] | [INFO] [stdout] 279 | return Ok(Value::Bool((lhs <= rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 279 - return Ok(Value::Bool((lhs <= rhs))); [INFO] [stdout] 279 + return Ok(Value::Bool(lhs <= rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:295:43 [INFO] [stdout] | [INFO] [stdout] 295 | return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 295 - return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] 295 + return Ok(Value::Bool(lhs == rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:303:43 [INFO] [stdout] | [INFO] [stdout] 303 | return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 303 - return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] 303 + return Ok(Value::Bool(lhs == rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:312:40 [INFO] [stdout] | [INFO] [stdout] 312 | Ok(Value::Bool((lhs == rhs))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 312 - Ok(Value::Bool((lhs == rhs))) [INFO] [stdout] 312 + Ok(Value::Bool(lhs == rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:329:43 [INFO] [stdout] | [INFO] [stdout] 329 | return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 329 - return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] 329 + return Ok(Value::Bool(lhs != rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:338:43 [INFO] [stdout] | [INFO] [stdout] 338 | return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 338 - return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] 338 + return Ok(Value::Bool(lhs != rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:347:40 [INFO] [stdout] | [INFO] [stdout] 347 | Ok(Value::Bool((lhs != rhs))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - Ok(Value::Bool((lhs != rhs))) [INFO] [stdout] 347 + Ok(Value::Bool(lhs != rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Error` [INFO] [stdout] --> src/parse.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::Error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `or` should have an upper camel case name [INFO] [stdout] --> src/main.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 399 | or, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Or` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/eval.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/eval.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expr::ExprError` [INFO] [stdout] --> src/eval.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::expr::ExprError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:222:43 [INFO] [stdout] | [INFO] [stdout] 222 | return Ok(Value::Bool((lhs < rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 222 - return Ok(Value::Bool((lhs < rhs))); [INFO] [stdout] 222 + return Ok(Value::Bool(lhs < rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | return Ok(Value::Bool((lhs > rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 241 - return Ok(Value::Bool((lhs > rhs))); [INFO] [stdout] 241 + return Ok(Value::Bool(lhs > rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:260:43 [INFO] [stdout] | [INFO] [stdout] 260 | return Ok(Value::Bool((lhs >= rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 260 - return Ok(Value::Bool((lhs >= rhs))); [INFO] [stdout] 260 + return Ok(Value::Bool(lhs >= rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:279:43 [INFO] [stdout] | [INFO] [stdout] 279 | return Ok(Value::Bool((lhs <= rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 279 - return Ok(Value::Bool((lhs <= rhs))); [INFO] [stdout] 279 + return Ok(Value::Bool(lhs <= rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:295:43 [INFO] [stdout] | [INFO] [stdout] 295 | return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 295 - return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] 295 + return Ok(Value::Bool(lhs == rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:303:43 [INFO] [stdout] | [INFO] [stdout] 303 | return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 303 - return Ok(Value::Bool((lhs == rhs))); [INFO] [stdout] 303 + return Ok(Value::Bool(lhs == rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:312:40 [INFO] [stdout] | [INFO] [stdout] 312 | Ok(Value::Bool((lhs == rhs))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 312 - Ok(Value::Bool((lhs == rhs))) [INFO] [stdout] 312 + Ok(Value::Bool(lhs == rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:329:43 [INFO] [stdout] | [INFO] [stdout] 329 | return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 329 - return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] 329 + return Ok(Value::Bool(lhs != rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:338:43 [INFO] [stdout] | [INFO] [stdout] 338 | return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 338 - return Ok(Value::Bool((lhs != rhs))); [INFO] [stdout] 338 + return Ok(Value::Bool(lhs != rhs)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/eval.rs:347:40 [INFO] [stdout] | [INFO] [stdout] 347 | Ok(Value::Bool((lhs != rhs))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - Ok(Value::Bool((lhs != rhs))) [INFO] [stdout] 347 + Ok(Value::Bool(lhs != rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Error` [INFO] [stdout] --> src/parse.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::Error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `or` should have an upper camel case name [INFO] [stdout] --> src/main.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 399 | or, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Or` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/eval.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/eval.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 82 | Expr::Literal(v) => Ok(Self::EvaluateLiteral(self, &v)?), [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 83 | Expr::Grouping(expr) => Self::evaluate(self, expr), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 84 | Expr::Unary(op, expr) => Self::EvalUnary(self, op, expr), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 85 | Expr::Assignment(left, right) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 108 | _ => unreachable!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/eval.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/eval.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 82 | Expr::Literal(v) => Ok(Self::EvaluateLiteral(self, &v)?), [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 83 | Expr::Grouping(expr) => Self::evaluate(self, expr), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 84 | Expr::Unary(op, expr) => Self::EvalUnary(self, op, expr), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 85 | Expr::Assignment(left, right) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 108 | _ => unreachable!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 124 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:162:29 [INFO] [stdout] | [INFO] [stdout] 162 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:174:33 [INFO] [stdout] | [INFO] [stdout] 174 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:213:29 [INFO] [stdout] | [INFO] [stdout] 213 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:232:29 [INFO] [stdout] | [INFO] [stdout] 232 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:251:29 [INFO] [stdout] | [INFO] [stdout] 251 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:270:29 [INFO] [stdout] | [INFO] [stdout] 270 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:289:29 [INFO] [stdout] | [INFO] [stdout] 289 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:297:29 [INFO] [stdout] | [INFO] [stdout] 297 | let mut rhs = false; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:306:33 [INFO] [stdout] | [INFO] [stdout] 306 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:323:29 [INFO] [stdout] | [INFO] [stdout] 323 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:332:29 [INFO] [stdout] | [INFO] [stdout] 332 | let mut rhs = false; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:341:33 [INFO] [stdout] | [INFO] [stdout] 341 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 124 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:162:29 [INFO] [stdout] | [INFO] [stdout] 162 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:174:33 [INFO] [stdout] | [INFO] [stdout] 174 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:194:29 [INFO] [stdout] | [INFO] [stdout] 194 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:213:29 [INFO] [stdout] | [INFO] [stdout] 213 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:232:29 [INFO] [stdout] | [INFO] [stdout] 232 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:251:29 [INFO] [stdout] | [INFO] [stdout] 251 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:270:29 [INFO] [stdout] | [INFO] [stdout] 270 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:289:29 [INFO] [stdout] | [INFO] [stdout] 289 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:297:29 [INFO] [stdout] | [INFO] [stdout] 297 | let mut rhs = false; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:306:33 [INFO] [stdout] | [INFO] [stdout] 306 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:323:29 [INFO] [stdout] | [INFO] [stdout] 323 | let mut rhs: f32 = 0.; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:332:29 [INFO] [stdout] | [INFO] [stdout] 332 | let mut rhs = false; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rhs` is never read [INFO] [stdout] --> src/eval.rs:341:33 [INFO] [stdout] | [INFO] [stdout] 341 | let mut rhs = String::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/interpret.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(val) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/interpret.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(val) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/parse.rs:55:54 [INFO] [stdout] | [INFO] [stdout] 55 | if let Expr::Literal(ExprLiteral::Identifier(value)) = &identifier { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/parse.rs:55:54 [INFO] [stdout] | [INFO] [stdout] 55 | if let Expr::Literal(ExprLiteral::Identifier(value)) = &identifier { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut line = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut line = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `exitcode` is never read [INFO] [stdout] --> src/main.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 414 | struct TokenError { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 417 | exitcode: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `MissingToken` is never used [INFO] [stdout] --> src/expr.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl ExprError { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn MissingToken(code: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line` is never read [INFO] [stdout] --> src/interpret.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 9 | evaluater: Evaluator, [INFO] [stdout] 10 | line: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Interpreter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expr` is never read [INFO] [stdout] --> src/parse.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Parser { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 9 | pub tokens: Vec, [INFO] [stdout] 10 | pub expr: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatementError` is never constructed [INFO] [stdout] --> src/smnt.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct StatementError {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `newToken` should have a snake case name [INFO] [stdout] --> src/main.rs:361:12 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn newToken(_type: TokenType, _string: String, _value: Option) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:532:21 [INFO] [stdout] | [INFO] [stdout] 532 | writeln!(stderr(), "{e}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = writeln!(stderr(), "{e}"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvalBinary` should have a snake case name [INFO] [stdout] --> src/eval.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn EvalBinary( [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `eval_binary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvalUnary` should have a snake case name [INFO] [stdout] --> src/eval.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | pub fn EvalUnary(&mut self, op: &Token, expr: &Box) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `eval_unary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvaluateLiteral` should have a snake case name [INFO] [stdout] --> src/eval.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn EvaluateLiteral(&mut self, literal: &ExprLiteral) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Stringy` should have a snake case name [INFO] [stdout] --> src/eval.rs:392:33 [INFO] [stdout] | [INFO] [stdout] 392 | ExprLiteral::String(Stringy) => Ok(Value::String(Stringy.to_owned())), [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `stringy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `MissingToken` should have a snake case name [INFO] [stdout] --> src/expr.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn MissingToken(code: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `missing_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/interpret.rs:35:34 [INFO] [stdout] | [INFO] [stdout] 35 | Statment::VarDec(Name, value) => { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `exitcode` is never read [INFO] [stdout] --> src/main.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 414 | struct TokenError { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 417 | exitcode: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `MissingToken` is never used [INFO] [stdout] --> src/expr.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl ExprError { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn MissingToken(code: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `line` is never read [INFO] [stdout] --> src/interpret.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 9 | evaluater: Evaluator, [INFO] [stdout] 10 | line: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Interpreter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expr` is never read [INFO] [stdout] --> src/parse.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Parser { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 9 | pub tokens: Vec, [INFO] [stdout] 10 | pub expr: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatementError` is never constructed [INFO] [stdout] --> src/smnt.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct StatementError {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `newToken` should have a snake case name [INFO] [stdout] --> src/main.rs:361:12 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn newToken(_type: TokenType, _string: String, _value: Option) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:532:21 [INFO] [stdout] | [INFO] [stdout] 532 | writeln!(stderr(), "{e}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = writeln!(stderr(), "{e}"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvalBinary` should have a snake case name [INFO] [stdout] --> src/eval.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn EvalBinary( [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `eval_binary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvalUnary` should have a snake case name [INFO] [stdout] --> src/eval.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | pub fn EvalUnary(&mut self, op: &Token, expr: &Box) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `eval_unary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `EvaluateLiteral` should have a snake case name [INFO] [stdout] --> src/eval.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn EvaluateLiteral(&mut self, literal: &ExprLiteral) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaluate_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Stringy` should have a snake case name [INFO] [stdout] --> src/eval.rs:392:33 [INFO] [stdout] | [INFO] [stdout] 392 | ExprLiteral::String(Stringy) => Ok(Value::String(Stringy.to_owned())), [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `stringy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `MissingToken` should have a snake case name [INFO] [stdout] --> src/expr.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn MissingToken(code: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `missing_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/interpret.rs:35:34 [INFO] [stdout] | [INFO] [stdout] 35 | Statment::VarDec(Name, value) => { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.34s [INFO] running `Command { std: "docker" "inspect" "d4fd9075351e6ff9a58c553a2cce8a86bfae72cb2e74bfe85d2bd4ca3f4149f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d4fd9075351e6ff9a58c553a2cce8a86bfae72cb2e74bfe85d2bd4ca3f4149f4", kill_on_drop: false }` [INFO] [stdout] d4fd9075351e6ff9a58c553a2cce8a86bfae72cb2e74bfe85d2bd4ca3f4149f4