[INFO] cloning repository https://github.com/cociorbaandrei/lux-interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cociorbaandrei/lux-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcociorbaandrei%2Flux-interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcociorbaandrei%2Flux-interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0e0f675cf3d7bea8ad548722c9762ad0b6440b9d [INFO] checking cociorbaandrei/lux-interpreter against try#73ffebff6f34db7eb167bf9edcf2afa19c3073e9 for pr-147841 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcociorbaandrei%2Flux-interpreter" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cociorbaandrei/lux-interpreter [INFO] finished tweaking git repo https://github.com/cociorbaandrei/lux-interpreter [INFO] tweaked toml for git repo https://github.com/cociorbaandrei/lux-interpreter written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cociorbaandrei/lux-interpreter on toolchain 73ffebff6f34db7eb167bf9edcf2afa19c3073e9 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cociorbaandrei/lux-interpreter 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" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "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 [ERROR] error running command: no output for 300 seconds [INFO] checking cociorbaandrei/lux-interpreter against try#73ffebff6f34db7eb167bf9edcf2afa19c3073e9 for pr-147841 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcociorbaandrei%2Flux-interpreter" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cociorbaandrei/lux-interpreter [INFO] finished tweaking git repo https://github.com/cociorbaandrei/lux-interpreter [INFO] tweaked toml for git repo https://github.com/cociorbaandrei/lux-interpreter written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cociorbaandrei/lux-interpreter on toolchain 73ffebff6f34db7eb167bf9edcf2afa19c3073e9 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cociorbaandrei/lux-interpreter 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" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "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.75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 126ce4cd4186dde8f783acc13428a69e92c45af681ff3451da19a308474cbdde [INFO] running `Command { std: "docker" "start" "-a" "126ce4cd4186dde8f783acc13428a69e92c45af681ff3451da19a308474cbdde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "126ce4cd4186dde8f783acc13428a69e92c45af681ff3451da19a308474cbdde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "126ce4cd4186dde8f783acc13428a69e92c45af681ff3451da19a308474cbdde", kill_on_drop: false }` [INFO] [stdout] 126ce4cd4186dde8f783acc13428a69e92c45af681ff3451da19a308474cbdde [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+73ffebff6f34db7eb167bf9edcf2afa19c3073e9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70b4d42b75ad215466e2d09c4956c4b590e05d7c1371be01138b5454146bf174 [INFO] running `Command { std: "docker" "start" "-a" "70b4d42b75ad215466e2d09c4956c4b590e05d7c1371be01138b5454146bf174", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Compiling syn v2.0.75 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Checking codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/interpreter.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{collections::HashMap, hash::Hash, ops::Add}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/interpreter.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | match (self) { [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] 111 - match (self) { [INFO] [stdout] 111 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 112 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] 112 + RuntimeValue::Number(x) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] 113 + RuntimeValue::Boolean(x) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] 114 + RuntimeValue::String(x) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/interpreter.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | match (self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 120 - match (self) { [INFO] [stdout] 120 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] 121 + RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] 122 + RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] 123 + RuntimeValue::Boolean(x) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] 124 + RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/interpreter.rs:143:42 [INFO] [stdout] | [INFO] [stdout] 143 | Ok(RuntimeValue::Boolean((x && (y > 0.0)))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - Ok(RuntimeValue::Boolean((x && (y > 0.0)))) [INFO] [stdout] 143 + Ok(RuntimeValue::Boolean(x && (y > 0.0) )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Binary` [INFO] [stdout] --> src/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Binary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser` [INFO] [stdout] --> src/parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parser; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Error` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expression::*` [INFO] [stdout] --> src/parser.rs:527:9 [INFO] [stdout] | [INFO] [stdout] 527 | use Expression::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Operator::*` [INFO] [stdout] --> src/parser.rs:528:9 [INFO] [stdout] | [INFO] [stdout] 528 | use Operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expression::*` [INFO] [stdout] --> src/parser.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | use Expression::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Operator::*` [INFO] [stdout] --> src/parser.rs:559:9 [INFO] [stdout] | [INFO] [stdout] 559 | use Operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/tokenizer.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Ok` [INFO] [stdout] --> src/tokenizer.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::Ok; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/tokenizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/tokenizer.rs:137:50 [INFO] [stdout] | [INFO] [stdout] 137 | ... .next_if(|c| (c.is_ascii_digit() || *c == '.')) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 137 - .next_if(|c| (c.is_ascii_digit() || *c == '.')) [INFO] [stdout] 137 + .next_if(|c| c.is_ascii_digit() || *c == '.' ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser::Expression` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use parser::Expression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::arch::x86_64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Parser` and `tokenizer::Tokenizer` [INFO] [stdout] --> src/interpreter.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | parser::{Expression, Operator, Parser, Statement}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | tokenizer::Tokenizer, [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: `hash::Hash` [INFO] [stdout] --> src/interpreter.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{collections::HashMap, hash::Hash, ops::Add}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/interpreter.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | match (self) { [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] 111 - match (self) { [INFO] [stdout] 111 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 112 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] 112 + RuntimeValue::Number(x) => Ok(RuntimeValue::Number(-x)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] 113 + RuntimeValue::Boolean(x) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] 114 + RuntimeValue::String(x) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/interpreter.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | match (self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 120 - match (self) { [INFO] [stdout] 120 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] 121 + RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] 122 + RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 - (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] 123 + RuntimeValue::Boolean(x) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/interpreter.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 124 - (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] 124 + RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/interpreter.rs:143:42 [INFO] [stdout] | [INFO] [stdout] 143 | Ok(RuntimeValue::Boolean((x && (y > 0.0)))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - Ok(RuntimeValue::Boolean((x && (y > 0.0)))) [INFO] [stdout] 143 + Ok(RuntimeValue::Boolean(x && (y > 0.0) )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Binary` [INFO] [stdout] --> src/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Binary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser` [INFO] [stdout] --> src/parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parser; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tokenizer::Tokenizer` [INFO] [stdout] --> src/parser.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tokenizer::Tokenizer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Error` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Error; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/tokenizer.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Ok` [INFO] [stdout] --> src/tokenizer.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::Ok; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/tokenizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/tokenizer.rs:137:50 [INFO] [stdout] | [INFO] [stdout] 137 | ... .next_if(|c| (c.is_ascii_digit() || *c == '.')) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 137 - .next_if(|c| (c.is_ascii_digit() || *c == '.')) [INFO] [stdout] 137 + .next_if(|c| c.is_ascii_digit() || *c == '.' ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser::Expression` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use parser::Expression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::arch::x86_64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/tokenizer.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 67 | / ... return Some(Token::Error(format!( [INFO] [stdout] 68 | | ... "[line {}] Error: Unterminated string.", [INFO] [stdout] 69 | | ... self.line [INFO] [stdout] 70 | | ... ))); [INFO] [stdout] | |_________________________- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 75 | ... continue; [INFO] [stdout] | ^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/tokenizer.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 67 | / ... return Some(Token::Error(format!( [INFO] [stdout] 68 | | ... "[line {}] Error: Unterminated string.", [INFO] [stdout] 69 | | ... self.line [INFO] [stdout] 70 | | ... ))); [INFO] [stdout] | |_________________________- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 75 | ... continue; [INFO] [stdout] | ^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/tokenizer.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/tokenizer.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:41:60 [INFO] [stdout] | [INFO] [stdout] 41 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:72:60 [INFO] [stdout] | [INFO] [stdout] 72 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:103:60 [INFO] [stdout] | [INFO] [stdout] 103 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:114:35 [INFO] [stdout] | [INFO] [stdout] 114 | (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:41:60 [INFO] [stdout] | [INFO] [stdout] 41 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:72:60 [INFO] [stdout] | [INFO] [stdout] 72 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/interpreter.rs:103:60 [INFO] [stdout] | [INFO] [stdout] 103 | (RuntimeValue::String(x), RuntimeValue::String(y)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | (RuntimeValue::Boolean(x)) => Err(anyhow!("Can not take the negative of a boolean.")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:114:35 [INFO] [stdout] | [INFO] [stdout] 114 | (RuntimeValue::String(x)) => Err(anyhow!("Operand must be a number.")), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 122 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/interpreter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 125 | RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(x > 0.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 123 | (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 126 | RuntimeValue::Boolean(x) => Ok(RuntimeValue::Boolean(x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 127 | RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:127:34 [INFO] [stdout] | [INFO] [stdout] 127 | RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] 122 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/interpreter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 121 | (RuntimeValue::Number(x)) => Ok(RuntimeValue::Boolean(!(x > 0.0))), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 125 | RuntimeValue::Number(x) => Ok(RuntimeValue::Boolean(x > 0.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 123 | (RuntimeValue::Boolean(x)) => Ok(RuntimeValue::Boolean(!(x))), [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 126 | RuntimeValue::Boolean(x) => Ok(RuntimeValue::Boolean(x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 127 | RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | (RuntimeValue::String(x)) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:127:34 [INFO] [stdout] | [INFO] [stdout] 127 | RuntimeValue::String(x) => Ok(RuntimeValue::Boolean(false)), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/interpreter.rs:277:32 [INFO] [stdout] | [INFO] [stdout] 277 | Expression::Binary(left, Operator::Power, right) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/interpreter.rs:277:32 [INFO] [stdout] | [INFO] [stdout] 277 | Expression::Binary(left, Operator::Power, right) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/interpreter.rs:277:55 [INFO] [stdout] | [INFO] [stdout] 277 | Expression::Binary(left, Operator::Power, right) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/interpreter.rs:277:55 [INFO] [stdout] | [INFO] [stdout] 277 | Expression::Binary(left, Operator::Power, right) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/interpreter.rs:294:32 [INFO] [stdout] | [INFO] [stdout] 294 | Expression::Binary(left, Operator::Or, right) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/interpreter.rs:294:32 [INFO] [stdout] | [INFO] [stdout] 294 | Expression::Binary(left, Operator::Or, right) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/interpreter.rs:294:52 [INFO] [stdout] | [INFO] [stdout] 294 | Expression::Binary(left, Operator::Or, right) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/interpreter.rs:294:52 [INFO] [stdout] | [INFO] [stdout] 294 | Expression::Binary(left, Operator::Or, right) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/parser.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | Expression::Assign(s, e) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | Expression::Assign(s, e) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/parser.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | Expression::Assign(s, e) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | Expression::Assign(s, e) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:347:21 [INFO] [stdout] | [INFO] [stdout] 347 | let mut expr = self.or()?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/parser.rs:341:36 [INFO] [stdout] | [INFO] [stdout] 341 | Some(Token::Identifier(s, _, _, _)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `print` [INFO] [stdout] --> src/parser.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | let print = self.iter.next().context("Expected print keyword.")?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:384:29 [INFO] [stdout] | [INFO] [stdout] 384 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:388:29 [INFO] [stdout] | [INFO] [stdout] 388 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/parser.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | while let Some(token) = self.iter.peek() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/parser.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | fn try_from(value: Token) -> Result { [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/parser.rs:347:21 [INFO] [stdout] | [INFO] [stdout] 347 | let mut expr = self.or()?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/parser.rs:341:36 [INFO] [stdout] | [INFO] [stdout] 341 | Some(Token::Identifier(s, _, _, _)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `print` [INFO] [stdout] --> src/parser.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | let print = self.iter.next().context("Expected print keyword.")?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:384:29 [INFO] [stdout] | [INFO] [stdout] 384 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi` [INFO] [stdout] --> src/parser.rs:388:29 [INFO] [stdout] | [INFO] [stdout] 388 | let semi = self.iter.next().context("Expected ; after expression.")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_semi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/parser.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 407 | while let Some(token) = self.iter.peek() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/parser.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | fn try_from(value: Token) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:51:38 [INFO] [stdout] | [INFO] [stdout] 51 | Token::LeftParen(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | Token::LeftParen(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | Token::RightParen(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:54:45 [INFO] [stdout] | [INFO] [stdout] 54 | Token::RightParen(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:57:38 [INFO] [stdout] | [INFO] [stdout] 57 | Token::LeftBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:57:44 [INFO] [stdout] | [INFO] [stdout] 57 | Token::LeftBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:60:39 [INFO] [stdout] | [INFO] [stdout] 60 | Token::RightBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:60:45 [INFO] [stdout] | [INFO] [stdout] 60 | Token::RightBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:63:33 [INFO] [stdout] | [INFO] [stdout] 63 | Token::Star(lexeme, line, col) => write!(f, "{} {} {}", "STAR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:63:39 [INFO] [stdout] | [INFO] [stdout] 63 | Token::Star(lexeme, line, col) => write!(f, "{} {} {}", "STAR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | Token::Dot(lexeme, line, col) => write!(f, "{} {} {}", "DOT", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | Token::Dot(lexeme, line, col) => write!(f, "{} {} {}", "DOT", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:65:34 [INFO] [stdout] | [INFO] [stdout] 65 | Token::Comma(lexeme, line, col) => write!(f, "{} {} {}", "COMMA", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:65:40 [INFO] [stdout] | [INFO] [stdout] 65 | Token::Comma(lexeme, line, col) => write!(f, "{} {} {}", "COMMA", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:66:33 [INFO] [stdout] | [INFO] [stdout] 66 | Token::Plus(lexeme, line, col) => write!(f, "{} {} {}", "PLUS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:66:39 [INFO] [stdout] | [INFO] [stdout] 66 | Token::Plus(lexeme, line, col) => write!(f, "{} {} {}", "PLUS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:67:34 [INFO] [stdout] | [INFO] [stdout] 67 | Token::Minus(lexeme, line, col) => write!(f, "{} {} {}", "MINUS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:67:40 [INFO] [stdout] | [INFO] [stdout] 67 | Token::Minus(lexeme, line, col) => write!(f, "{} {} {}", "MINUS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | Token::Semicolon(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:68:44 [INFO] [stdout] | [INFO] [stdout] 68 | Token::Semicolon(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | Token::Slash(lexeme, line, col) => write!(f, "{} {} {}", "SLASH", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:71:40 [INFO] [stdout] | [INFO] [stdout] 71 | Token::Slash(lexeme, line, col) => write!(f, "{} {} {}", "SLASH", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | Token::Number(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | Token::Number(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:83:45 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/token.rs:83:50 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | Token::Equal(lexeme, line, col) => write!(f, "{} {} {}", "EQUAL", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:86:40 [INFO] [stdout] | [INFO] [stdout] 86 | Token::Equal(lexeme, line, col) => write!(f, "{} {} {}", "EQUAL", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:87:39 [INFO] [stdout] | [INFO] [stdout] 87 | Token::EqualEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:87:45 [INFO] [stdout] | [INFO] [stdout] 87 | Token::EqualEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:90:34 [INFO] [stdout] | [INFO] [stdout] 90 | Token::Colon(lexeme, line, col) => write!(f, "{} {} {}", "COLON", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:90:40 [INFO] [stdout] | [INFO] [stdout] 90 | Token::Colon(lexeme, line, col) => write!(f, "{} {} {}", "COLON", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:91:33 [INFO] [stdout] | [INFO] [stdout] 91 | Token::Bang(lexeme, line, col) => write!(f, "{} {} {}", "BANG", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | Token::Bang(lexeme, line, col) => write!(f, "{} {} {}", "BANG", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:92:38 [INFO] [stdout] | [INFO] [stdout] 92 | Token::BangEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | Token::BangEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:95:33 [INFO] [stdout] | [INFO] [stdout] 95 | Token::Less(lexeme, line, col) => write!(f, "{} {} {}", "LESS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:95:39 [INFO] [stdout] | [INFO] [stdout] 95 | Token::Less(lexeme, line, col) => write!(f, "{} {} {}", "LESS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | Token::LessEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:96:44 [INFO] [stdout] | [INFO] [stdout] 96 | Token::LessEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:99:36 [INFO] [stdout] | [INFO] [stdout] 99 | Token::Greater(lexeme, line, col) => write!(f, "{} {} {}", "GREATER", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:99:42 [INFO] [stdout] | [INFO] [stdout] 99 | Token::Greater(lexeme, line, col) => write!(f, "{} {} {}", "GREATER", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:100:41 [INFO] [stdout] | [INFO] [stdout] 100 | Token::GreaterEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:100:47 [INFO] [stdout] | [INFO] [stdout] 100 | Token::GreaterEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | Token::String(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:103:41 [INFO] [stdout] | [INFO] [stdout] 103 | Token::String(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | Token::And(lexeme, line, col) => write!(f, "{} {} {}", "AND", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:106:38 [INFO] [stdout] | [INFO] [stdout] 106 | Token::And(lexeme, line, col) => write!(f, "{} {} {}", "AND", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:107:34 [INFO] [stdout] | [INFO] [stdout] 107 | Token::Class(lexeme, line, col) => write!(f, "{} {} {}", "CLASS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:107:40 [INFO] [stdout] | [INFO] [stdout] 107 | Token::Class(lexeme, line, col) => write!(f, "{} {} {}", "CLASS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:108:33 [INFO] [stdout] | [INFO] [stdout] 108 | Token::Else(lexeme, line, col) => write!(f, "{} {} {}", "ELSE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | Token::Else(lexeme, line, col) => write!(f, "{} {} {}", "ELSE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:109:34 [INFO] [stdout] | [INFO] [stdout] 109 | Token::False(lexeme, line, col) => write!(f, "{} {} {}", "FALSE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:109:40 [INFO] [stdout] | [INFO] [stdout] 109 | Token::False(lexeme, line, col) => write!(f, "{} {} {}", "FALSE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | Token::For(lexeme, line, col) => write!(f, "{} {} {}", "FOR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 110 | Token::For(lexeme, line, col) => write!(f, "{} {} {}", "FOR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | Token::Fun(lexeme, line, col) => write!(f, "{} {} {}", "FUN", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:111:38 [INFO] [stdout] | [INFO] [stdout] 111 | Token::Fun(lexeme, line, col) => write!(f, "{} {} {}", "FUN", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | Token::If(lexeme, line, col) => write!(f, "{} {} {}", "IF", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:112:37 [INFO] [stdout] | [INFO] [stdout] 112 | Token::If(lexeme, line, col) => write!(f, "{} {} {}", "IF", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | Token::Nil(lexeme, line, col) => write!(f, "{} {} {}", "NIL", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | Token::Nil(lexeme, line, col) => write!(f, "{} {} {}", "NIL", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | Token::Or(lexeme, line, col) => write!(f, "{} {} {}", "OR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 114 | Token::Or(lexeme, line, col) => write!(f, "{} {} {}", "OR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | Token::Print(lexeme, line, col) => write!(f, "{} {} {}", "PRINT", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:115:40 [INFO] [stdout] | [INFO] [stdout] 115 | Token::Print(lexeme, line, col) => write!(f, "{} {} {}", "PRINT", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:116:35 [INFO] [stdout] | [INFO] [stdout] 116 | Token::Return(lexeme, line, col) => write!(f, "{} {} {}", "RETURN", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:116:41 [INFO] [stdout] | [INFO] [stdout] 116 | Token::Return(lexeme, line, col) => write!(f, "{} {} {}", "RETURN", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:117:34 [INFO] [stdout] | [INFO] [stdout] 117 | Token::Super(lexeme, line, col) => write!(f, "{} {} {}", "SUPER", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:117:40 [INFO] [stdout] | [INFO] [stdout] 117 | Token::Super(lexeme, line, col) => write!(f, "{} {} {}", "SUPER", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:118:33 [INFO] [stdout] | [INFO] [stdout] 118 | Token::This(lexeme, line, col) => write!(f, "{} {} {}", "THIS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:118:39 [INFO] [stdout] | [INFO] [stdout] 118 | Token::This(lexeme, line, col) => write!(f, "{} {} {}", "THIS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:119:33 [INFO] [stdout] | [INFO] [stdout] 119 | Token::True(lexeme, line, col) => write!(f, "{} {} {}", "TRUE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:119:39 [INFO] [stdout] | [INFO] [stdout] 119 | Token::True(lexeme, line, col) => write!(f, "{} {} {}", "TRUE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | Token::Var(lexeme, line, col) => write!(f, "{} {} {}", "VAR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:120:38 [INFO] [stdout] | [INFO] [stdout] 120 | Token::Var(lexeme, line, col) => write!(f, "{} {} {}", "VAR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:121:34 [INFO] [stdout] | [INFO] [stdout] 121 | Token::While(lexeme, line, col) => write!(f, "{} {} {}", "WHILE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:121:40 [INFO] [stdout] | [INFO] [stdout] 121 | Token::While(lexeme, line, col) => write!(f, "{} {} {}", "WHILE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:51:38 [INFO] [stdout] | [INFO] [stdout] 51 | Token::LeftParen(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | Token::LeftParen(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | Token::RightParen(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:54:45 [INFO] [stdout] | [INFO] [stdout] 54 | Token::RightParen(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:57:38 [INFO] [stdout] | [INFO] [stdout] 57 | Token::LeftBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:57:44 [INFO] [stdout] | [INFO] [stdout] 57 | Token::LeftBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:60:39 [INFO] [stdout] | [INFO] [stdout] 60 | Token::RightBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:60:45 [INFO] [stdout] | [INFO] [stdout] 60 | Token::RightBrace(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:63:33 [INFO] [stdout] | [INFO] [stdout] 63 | Token::Star(lexeme, line, col) => write!(f, "{} {} {}", "STAR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:63:39 [INFO] [stdout] | [INFO] [stdout] 63 | Token::Star(lexeme, line, col) => write!(f, "{} {} {}", "STAR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | Token::Dot(lexeme, line, col) => write!(f, "{} {} {}", "DOT", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | Token::Dot(lexeme, line, col) => write!(f, "{} {} {}", "DOT", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:65:34 [INFO] [stdout] | [INFO] [stdout] 65 | Token::Comma(lexeme, line, col) => write!(f, "{} {} {}", "COMMA", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:65:40 [INFO] [stdout] | [INFO] [stdout] 65 | Token::Comma(lexeme, line, col) => write!(f, "{} {} {}", "COMMA", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:66:33 [INFO] [stdout] | [INFO] [stdout] 66 | Token::Plus(lexeme, line, col) => write!(f, "{} {} {}", "PLUS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:66:39 [INFO] [stdout] | [INFO] [stdout] 66 | Token::Plus(lexeme, line, col) => write!(f, "{} {} {}", "PLUS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:67:34 [INFO] [stdout] | [INFO] [stdout] 67 | Token::Minus(lexeme, line, col) => write!(f, "{} {} {}", "MINUS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:67:40 [INFO] [stdout] | [INFO] [stdout] 67 | Token::Minus(lexeme, line, col) => write!(f, "{} {} {}", "MINUS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | Token::Semicolon(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:68:44 [INFO] [stdout] | [INFO] [stdout] 68 | Token::Semicolon(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | Token::Slash(lexeme, line, col) => write!(f, "{} {} {}", "SLASH", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:71:40 [INFO] [stdout] | [INFO] [stdout] 71 | Token::Slash(lexeme, line, col) => write!(f, "{} {} {}", "SLASH", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:72:35 [INFO] [stdout] | [INFO] [stdout] 72 | Token::Number(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | Token::Number(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:83:45 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ident` [INFO] [stdout] --> src/token.rs:83:50 [INFO] [stdout] | [INFO] [stdout] 83 | Token::Identifier(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | Token::Equal(lexeme, line, col) => write!(f, "{} {} {}", "EQUAL", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:86:40 [INFO] [stdout] | [INFO] [stdout] 86 | Token::Equal(lexeme, line, col) => write!(f, "{} {} {}", "EQUAL", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:87:39 [INFO] [stdout] | [INFO] [stdout] 87 | Token::EqualEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:87:45 [INFO] [stdout] | [INFO] [stdout] 87 | Token::EqualEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:90:34 [INFO] [stdout] | [INFO] [stdout] 90 | Token::Colon(lexeme, line, col) => write!(f, "{} {} {}", "COLON", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:90:40 [INFO] [stdout] | [INFO] [stdout] 90 | Token::Colon(lexeme, line, col) => write!(f, "{} {} {}", "COLON", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:91:33 [INFO] [stdout] | [INFO] [stdout] 91 | Token::Bang(lexeme, line, col) => write!(f, "{} {} {}", "BANG", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | Token::Bang(lexeme, line, col) => write!(f, "{} {} {}", "BANG", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:92:38 [INFO] [stdout] | [INFO] [stdout] 92 | Token::BangEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | Token::BangEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:95:33 [INFO] [stdout] | [INFO] [stdout] 95 | Token::Less(lexeme, line, col) => write!(f, "{} {} {}", "LESS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:95:39 [INFO] [stdout] | [INFO] [stdout] 95 | Token::Less(lexeme, line, col) => write!(f, "{} {} {}", "LESS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | Token::LessEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:96:44 [INFO] [stdout] | [INFO] [stdout] 96 | Token::LessEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:99:36 [INFO] [stdout] | [INFO] [stdout] 99 | Token::Greater(lexeme, line, col) => write!(f, "{} {} {}", "GREATER", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:99:42 [INFO] [stdout] | [INFO] [stdout] 99 | Token::Greater(lexeme, line, col) => write!(f, "{} {} {}", "GREATER", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:100:41 [INFO] [stdout] | [INFO] [stdout] 100 | Token::GreaterEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:100:47 [INFO] [stdout] | [INFO] [stdout] 100 | Token::GreaterEqual(lexeme, line, col) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:103:35 [INFO] [stdout] | [INFO] [stdout] 103 | Token::String(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:103:41 [INFO] [stdout] | [INFO] [stdout] 103 | Token::String(lexeme, line, col, ident) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | Token::And(lexeme, line, col) => write!(f, "{} {} {}", "AND", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:106:38 [INFO] [stdout] | [INFO] [stdout] 106 | Token::And(lexeme, line, col) => write!(f, "{} {} {}", "AND", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:107:34 [INFO] [stdout] | [INFO] [stdout] 107 | Token::Class(lexeme, line, col) => write!(f, "{} {} {}", "CLASS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:107:40 [INFO] [stdout] | [INFO] [stdout] 107 | Token::Class(lexeme, line, col) => write!(f, "{} {} {}", "CLASS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:108:33 [INFO] [stdout] | [INFO] [stdout] 108 | Token::Else(lexeme, line, col) => write!(f, "{} {} {}", "ELSE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:108:39 [INFO] [stdout] | [INFO] [stdout] 108 | Token::Else(lexeme, line, col) => write!(f, "{} {} {}", "ELSE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:109:34 [INFO] [stdout] | [INFO] [stdout] 109 | Token::False(lexeme, line, col) => write!(f, "{} {} {}", "FALSE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 89 | Ok(RuntimeValue::Number(x)) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 92 | Ok(RuntimeValue::String(x)) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 95 | Ok(RuntimeValue::Boolean(x)) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | Ok(RuntimeValue::Nil) => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 106 | _ => { [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:109:40 [INFO] [stdout] | [INFO] [stdout] 109 | Token::False(lexeme, line, col) => write!(f, "{} {} {}", "FALSE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | Token::For(lexeme, line, col) => write!(f, "{} {} {}", "FOR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 110 | Token::For(lexeme, line, col) => write!(f, "{} {} {}", "FOR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | Token::Fun(lexeme, line, col) => write!(f, "{} {} {}", "FUN", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:111:38 [INFO] [stdout] | [INFO] [stdout] 111 | Token::Fun(lexeme, line, col) => write!(f, "{} {} {}", "FUN", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | Token::If(lexeme, line, col) => write!(f, "{} {} {}", "IF", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:112:37 [INFO] [stdout] | [INFO] [stdout] 112 | Token::If(lexeme, line, col) => write!(f, "{} {} {}", "IF", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | Token::Nil(lexeme, line, col) => write!(f, "{} {} {}", "NIL", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | Token::Nil(lexeme, line, col) => write!(f, "{} {} {}", "NIL", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:114:31 [INFO] [stdout] | [INFO] [stdout] 114 | Token::Or(lexeme, line, col) => write!(f, "{} {} {}", "OR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 114 | Token::Or(lexeme, line, col) => write!(f, "{} {} {}", "OR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 115 | Token::Print(lexeme, line, col) => write!(f, "{} {} {}", "PRINT", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:115:40 [INFO] [stdout] | [INFO] [stdout] 115 | Token::Print(lexeme, line, col) => write!(f, "{} {} {}", "PRINT", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:116:35 [INFO] [stdout] | [INFO] [stdout] 116 | Token::Return(lexeme, line, col) => write!(f, "{} {} {}", "RETURN", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:116:41 [INFO] [stdout] | [INFO] [stdout] 116 | Token::Return(lexeme, line, col) => write!(f, "{} {} {}", "RETURN", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:117:34 [INFO] [stdout] | [INFO] [stdout] 117 | Token::Super(lexeme, line, col) => write!(f, "{} {} {}", "SUPER", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:117:40 [INFO] [stdout] | [INFO] [stdout] 117 | Token::Super(lexeme, line, col) => write!(f, "{} {} {}", "SUPER", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:118:33 [INFO] [stdout] | [INFO] [stdout] 118 | Token::This(lexeme, line, col) => write!(f, "{} {} {}", "THIS", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:118:39 [INFO] [stdout] | [INFO] [stdout] 118 | Token::This(lexeme, line, col) => write!(f, "{} {} {}", "THIS", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:119:33 [INFO] [stdout] | [INFO] [stdout] 119 | Token::True(lexeme, line, col) => write!(f, "{} {} {}", "TRUE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:119:39 [INFO] [stdout] | [INFO] [stdout] 119 | Token::True(lexeme, line, col) => write!(f, "{} {} {}", "TRUE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | Token::Var(lexeme, line, col) => write!(f, "{} {} {}", "VAR", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:120:38 [INFO] [stdout] | [INFO] [stdout] 120 | Token::Var(lexeme, line, col) => write!(f, "{} {} {}", "VAR", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line` [INFO] [stdout] --> src/token.rs:121:34 [INFO] [stdout] | [INFO] [stdout] 121 | Token::While(lexeme, line, col) => write!(f, "{} {} {}", "WHILE", lexeme, "null"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/token.rs:121:40 [INFO] [stdout] | [INFO] [stdout] 121 | Token::While(lexeme, line, col) => write!(f, "{} {} {}", "WHILE", lexeme, "null"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Power` is never constructed [INFO] [stdout] --> src/parser.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Operator { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Power, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operator` 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: variant `Assign` is never constructed [INFO] [stdout] --> src/parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum Expression { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Assign(String, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `assert_next`, `operator`, `peek`, and `next` are never used [INFO] [stdout] --> src/parser.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 110 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | fn assert_next(&mut self, token: Token) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn operator(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn peek(&mut self) -> Option<&Token> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EndOfFile` is never constructed [INFO] [stdout] --> src/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Token { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 45 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | writeln!(io::stderr(), "{}", err); [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] 43 | let _ = writeln!(io::stderr(), "{}", err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | ... writeln!(io::stderr(), "{}", e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 103 | let _ = writeln!(io::stderr(), "{}", e); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:138:29 [INFO] [stdout] | [INFO] [stdout] 138 | ... writeln!(io::stderr(), "{}", e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 138 | let _ = writeln!(io::stderr(), "{}", e); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | writeln!(io::stderr(), "Unknown command: {}", command); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 150 | let _ = writeln!(io::stderr(), "Unknown command: {}", command); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tokenizer.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn iter(&self) -> TokenIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | pub fn iter(&self) -> TokenIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/main.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 89 | Ok(RuntimeValue::Number(x)) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 92 | Ok(RuntimeValue::String(x)) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 95 | Ok(RuntimeValue::Boolean(x)) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | Ok(RuntimeValue::Nil) => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 106 | _ => { [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Power` is never constructed [INFO] [stdout] --> src/parser.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Operator { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Power, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operator` 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: variant `Assign` is never constructed [INFO] [stdout] --> src/parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum Expression { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Assign(String, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `assert_next`, `operator`, `peek`, and `next` are never used [INFO] [stdout] --> src/parser.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 110 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | fn assert_next(&mut self, token: Token) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn operator(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn peek(&mut self) -> Option<&Token> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EndOfFile` is never constructed [INFO] [stdout] --> src/token.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Token { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 45 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | writeln!(io::stderr(), "{}", err); [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] 43 | let _ = writeln!(io::stderr(), "{}", err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | ... writeln!(io::stderr(), "{}", e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 103 | let _ = writeln!(io::stderr(), "{}", e); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:138:29 [INFO] [stdout] | [INFO] [stdout] 138 | ... writeln!(io::stderr(), "{}", e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 138 | let _ = writeln!(io::stderr(), "{}", e); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | writeln!(io::stderr(), "Unknown command: {}", command); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 150 | let _ = writeln!(io::stderr(), "Unknown command: {}", command); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tokenizer.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn iter(&self) -> TokenIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | pub fn iter(&self) -> TokenIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.31s [INFO] running `Command { std: "docker" "inspect" "70b4d42b75ad215466e2d09c4956c4b590e05d7c1371be01138b5454146bf174", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70b4d42b75ad215466e2d09c4956c4b590e05d7c1371be01138b5454146bf174", kill_on_drop: false }` [INFO] [stdout] 70b4d42b75ad215466e2d09c4956c4b590e05d7c1371be01138b5454146bf174