[INFO] cloning repository https://github.com/rock117/rlox-bytecode [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rock117/rlox-bytecode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frock117%2Frlox-bytecode", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frock117%2Frlox-bytecode'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0e3549209073f219c792c0a5a02462d3287c6701 [INFO] checking rock117/rlox-bytecode against try#3857be5045fe74bd0f296f6f4c23db10f8857f73 for pr-156807 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frock117%2Frlox-bytecode" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rock117/rlox-bytecode [INFO] finished tweaking git repo https://github.com/rock117/rlox-bytecode [INFO] tweaked toml for git repo https://github.com/rock117/rlox-bytecode written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rock117/rlox-bytecode on toolchain 3857be5045fe74bd0f296f6f4c23db10f8857f73 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rock117/rlox-bytecode 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" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded int-enum v1.1.2 [INFO] [stderr] Downloaded int-to-c-enum v0.1.0 [INFO] [stderr] Downloaded int-to-c-enum-derive v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 09e20ea113c64e9a36370d3c62658e41355f0937edf9f2c16596e3dd146914fd [INFO] running `Command { std: "docker" "start" "-a" "09e20ea113c64e9a36370d3c62658e41355f0937edf9f2c16596e3dd146914fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "09e20ea113c64e9a36370d3c62658e41355f0937edf9f2c16596e3dd146914fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09e20ea113c64e9a36370d3c62658e41355f0937edf9f2c16596e3dd146914fd", kill_on_drop: false }` [INFO] [stdout] 09e20ea113c64e9a36370d3c62658e41355f0937edf9f2c16596e3dd146914fd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c15119cdfe0997c0b1b175559784e922026bf297dfd2159c099bebd508c057ff [INFO] running `Command { std: "docker" "start" "-a" "c15119cdfe0997c0b1b175559784e922026bf297dfd2159c099bebd508c057ff", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling int-enum v1.1.2 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling int-to-c-enum-derive v0.1.0 [INFO] [stderr] Checking int-to-c-enum v0.1.0 [INFO] [stderr] Checking r-lox-bytecode v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `OP_CONSTANT`, `OP_NEGATE`, and `OP_RETURN` [INFO] [stdout] --> src/chunk.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::{OP_CONSTANT, OP_NEGATE, OP_RETURN}; [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: `int_enum::IntEnum` [INFO] [stdout] --> src/chunk.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use int_enum::IntEnum; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `int_to_c_enum::TryFromInt` [INFO] [stdout] --> src/chunk.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use int_to_c_enum::TryFromInt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_CONSTANT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | OP_CONSTANT = 0, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpConstant` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NIL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | OP_NIL, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpNil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_TRUE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | OP_TRUE, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpTrue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_FALSE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | OP_FALSE, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_POP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | OP_POP, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpPop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GET_LOCAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | OP_GET_LOCAL, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGetLocal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SET_LOCAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | OP_SET_LOCAL, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSetLocal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GET_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | OP_GET_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGetGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_DEFINE_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | OP_DEFINE_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpDefineGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SET_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | OP_SET_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSetGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | OP_EQUAL, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GREATER` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | OP_GREATER, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGreater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_LESS` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | OP_LESS, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpLess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_ADD` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | OP_ADD, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpAdd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SUBTRACT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | OP_SUBTRACT, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSubtract` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_MULTIPLY` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | OP_MULTIPLY, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpMultiply` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_DIVIDE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | OP_DIVIDE, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpDivide` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NOT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | OP_NOT, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpNot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NEGATE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | OP_NEGATE, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpNegate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_PRINT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | OP_PRINT, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpPrint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_JUMP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | OP_JUMP, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpJump` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_JUMP_IF_FALSE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | OP_JUMP_IF_FALSE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpJumpIfFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_LOOP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | OP_LOOP, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpLoop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_RETURN` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | OP_RETURN, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpReturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/compiler.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::chunk::{Chunk, OpCode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_NONE` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | PREC_NONE = 0, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecNone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_ASSIGNMENT` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | PREC_ASSIGNMENT = 1, // = [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecAssignment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_OR` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | PREC_OR = 2, // or [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `PrecOr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_AND` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | PREC_AND = 3, // and [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PrecAnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_EQUALITY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | PREC_EQUALITY = 4, // == != [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecEquality` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_COMPARISON` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | PREC_COMPARISON = 5, // < > <= >= [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecComparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_TERM` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | PREC_TERM = 6, // + - [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecTerm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_FACTOR` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | PREC_FACTOR = 7, // * / [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecFactor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_UNARY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | PREC_UNARY = 8, // ! - [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecUnary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_CALL` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | PREC_CALL = 9, // . () [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecCall` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_PRIMARY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | PREC_PRIMARY = 10, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecPrimary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (self.parser.current.r#type == r#type) { [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] 113 - if (self.parser.current.r#type == r#type) { [INFO] [stdout] 113 + if self.parser.current.r#type == r#type { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.parser.had_error) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.parser.had_error) { [INFO] [stdout] 167 + if !self.parser.had_error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/compiler.rs:190:31 [INFO] [stdout] | [INFO] [stdout] 190 | self.parse_precedence((rule.unwrap().precedence.add(1))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - self.parse_precedence((rule.unwrap().precedence.add(1))); [INFO] [stdout] 190 + self.parse_precedence(rule.unwrap().precedence.add(1) ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if (self.match_(TOKEN_EQUAL)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 360 - if (self.match_(TOKEN_EQUAL)) { [INFO] [stdout] 360 + if self.match_(TOKEN_EQUAL) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:390:12 [INFO] [stdout] | [INFO] [stdout] 390 | if (!self.match_(TOKEN_SEMICOLON)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 390 - if (!self.match_(TOKEN_SEMICOLON)) { [INFO] [stdout] 390 + if !self.match_(TOKEN_SEMICOLON) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:400:12 [INFO] [stdout] | [INFO] [stdout] 400 | if (!self.match_(TOKEN_RIGHT_PAREN)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 400 - if (!self.match_(TOKEN_RIGHT_PAREN)) { [INFO] [stdout] 400 + if !self.match_(TOKEN_RIGHT_PAREN) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:460:16 [INFO] [stdout] | [INFO] [stdout] 460 | if (self.parser.previous.r#type == TOKEN_SEMICOLON) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 460 - if (self.parser.previous.r#type == TOKEN_SEMICOLON) { [INFO] [stdout] 460 + if self.parser.previous.r#type == TOKEN_SEMICOLON { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 696 | if (constant > u8::MAX as usize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 696 - if (constant > u8::MAX as usize) { [INFO] [stdout] 696 + if constant > u8::MAX as usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Value` [INFO] [stdout] --> src/debug.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::value::{print_value, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> src/object/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | string(String), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::read_to_string` [INFO] [stdout] --> src/scanner.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | TOKEN_LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLeftParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | TOKEN_RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenRightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | TOKEN_LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | TOKEN_RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenRightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_COMMA` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | TOKEN_COMMA, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenComma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_DOT` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | TOKEN_DOT, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenDot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_MINUS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | TOKEN_MINUS, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenMinus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_PLUS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | TOKEN_PLUS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenPlus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SEMICOLON` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | TOKEN_SEMICOLON, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSemicolon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SLASH` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | TOKEN_SLASH, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSlash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_STAR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | TOKEN_STAR, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenStar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_BANG` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | TOKEN_BANG, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenBang` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | TOKEN_BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenBangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | TOKEN_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | TOKEN_EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_GREATER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | TOKEN_GREATER, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenGreater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | TOKEN_GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenGreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LESS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | TOKEN_LESS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | TOKEN_LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_IDENTIFIER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | TOKEN_IDENTIFIER, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenIdentifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_STRING` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | TOKEN_STRING, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenString` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_NUMBER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | TOKEN_NUMBER, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_AND` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | TOKEN_AND, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenAnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_CLASS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | TOKEN_CLASS, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenClass` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_ELSE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | TOKEN_ELSE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenElse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FALSE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | TOKEN_FALSE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FOR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | TOKEN_FOR, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FUN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | TOKEN_FUN, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFun` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_IF` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | TOKEN_IF, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `TokenIf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_NIL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | TOKEN_NIL, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenNil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_OR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | TOKEN_OR, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `TokenOr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_PRINT` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | TOKEN_PRINT, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenPrint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RETURN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | TOKEN_RETURN, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenReturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SUPER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | TOKEN_SUPER, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSuper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_THIS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | TOKEN_THIS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenThis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_TRUE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | TOKEN_TRUE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenTrue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_VAR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | TOKEN_VAR, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenVar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_WHILE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | TOKEN_WHILE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenWhile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_ERROR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | TOKEN_ERROR, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EOF` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | TOKEN_EOF, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/scanner.rs:242:15 [INFO] [stdout] | [INFO] [stdout] 242 | while (self.peek() != '"' && !self.is_at_end()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 242 - while (self.peek() != '"' && !self.is_at_end()) { [INFO] [stdout] 242 + while self.peek() != '"' && !self.is_at_end() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:243:16 [INFO] [stdout] | [INFO] [stdout] 243 | if (self.peek() == '\n') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 243 - if (self.peek() == '\n') { [INFO] [stdout] 243 + if self.peek() == '\n' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 249 | if (self.is_at_end()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 249 - if (self.is_at_end()) { [INFO] [stdout] 249 + if self.is_at_end() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:306:20 [INFO] [stdout] | [INFO] [stdout] 306 | if (self.current - self.start > 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 306 - if (self.current - self.start > 1) { [INFO] [stdout] 306 + if self.current - self.start > 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Formatter` [INFO] [stdout] --> src/value.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::{Debug, Formatter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `boolean` should have an upper camel case name [INFO] [stdout] --> src/value.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | boolean(bool), [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `Boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `number` should have an upper camel case name [INFO] [stdout] --> src/value.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | number(f64), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `obj` should have an upper camel case name [INFO] [stdout] --> src/value.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | obj(Obj), [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `nil` should have an upper camel case name [INFO] [stdout] --> src/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | nil, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chunk::OpCode::OP_NIL` [INFO] [stdout] --> src/vm.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::OP_NIL; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::debug` [INFO] [stdout] --> src/vm.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::debug; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_OK` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | INTERPRET_OK, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretOk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | INTERPRET_COMPILE_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | INTERPRET_RUNTIME_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_CONSTANT`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_RETURN` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::chunk::OpCode::{OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::PartialEq` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::cmp::PartialEq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::atomic::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `value::*` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use value::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OP_CONSTANT`, `OP_NEGATE`, and `OP_RETURN` [INFO] [stdout] --> src/chunk.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::{OP_CONSTANT, OP_NEGATE, OP_RETURN}; [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: `int_enum::IntEnum` [INFO] [stdout] --> src/chunk.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use int_enum::IntEnum; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `int_to_c_enum::TryFromInt` [INFO] [stdout] --> src/chunk.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use int_to_c_enum::TryFromInt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_CONSTANT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | OP_CONSTANT = 0, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpConstant` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NIL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | OP_NIL, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpNil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_TRUE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | OP_TRUE, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpTrue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_FALSE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | OP_FALSE, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_POP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | OP_POP, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpPop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GET_LOCAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | OP_GET_LOCAL, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGetLocal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SET_LOCAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | OP_SET_LOCAL, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSetLocal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GET_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | OP_GET_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGetGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_DEFINE_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | OP_DEFINE_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpDefineGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SET_GLOBAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | OP_SET_GLOBAL, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSetGlobal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | OP_EQUAL, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_GREATER` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | OP_GREATER, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `OpGreater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_LESS` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | OP_LESS, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpLess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_ADD` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | OP_ADD, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpAdd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_SUBTRACT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | OP_SUBTRACT, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpSubtract` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_MULTIPLY` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | OP_MULTIPLY, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpMultiply` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_DIVIDE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | OP_DIVIDE, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpDivide` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NOT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | OP_NOT, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `OpNot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_NEGATE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | OP_NEGATE, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpNegate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_PRINT` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | OP_PRINT, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `OpPrint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_JUMP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | OP_JUMP, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpJump` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_JUMP_IF_FALSE` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | OP_JUMP_IF_FALSE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpJumpIfFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_LOOP` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | OP_LOOP, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `OpLoop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OP_RETURN` should have an upper camel case name [INFO] [stdout] --> src/chunk.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | OP_RETURN, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `OpReturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OpCode` [INFO] [stdout] --> src/compiler.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::chunk::{Chunk, OpCode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_NONE` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | PREC_NONE = 0, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecNone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_ASSIGNMENT` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | PREC_ASSIGNMENT = 1, // = [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecAssignment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_OR` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | PREC_OR = 2, // or [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `PrecOr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_AND` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | PREC_AND = 3, // and [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PrecAnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_EQUALITY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | PREC_EQUALITY = 4, // == != [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecEquality` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_COMPARISON` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | PREC_COMPARISON = 5, // < > <= >= [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecComparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_TERM` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | PREC_TERM = 6, // + - [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecTerm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_FACTOR` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | PREC_FACTOR = 7, // * / [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecFactor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_UNARY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | PREC_UNARY = 8, // ! - [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecUnary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_CALL` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | PREC_CALL = 9, // . () [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `PrecCall` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PREC_PRIMARY` should have an upper camel case name [INFO] [stdout] --> src/compiler.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | PREC_PRIMARY = 10, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrecPrimary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if (self.parser.current.r#type == r#type) { [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] 113 - if (self.parser.current.r#type == r#type) { [INFO] [stdout] 113 + if self.parser.current.r#type == r#type { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | if (!self.parser.had_error) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 167 - if (!self.parser.had_error) { [INFO] [stdout] 167 + if !self.parser.had_error { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/compiler.rs:190:31 [INFO] [stdout] | [INFO] [stdout] 190 | self.parse_precedence((rule.unwrap().precedence.add(1))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 190 - self.parse_precedence((rule.unwrap().precedence.add(1))); [INFO] [stdout] 190 + self.parse_precedence(rule.unwrap().precedence.add(1) ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if (self.match_(TOKEN_EQUAL)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 360 - if (self.match_(TOKEN_EQUAL)) { [INFO] [stdout] 360 + if self.match_(TOKEN_EQUAL) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:390:12 [INFO] [stdout] | [INFO] [stdout] 390 | if (!self.match_(TOKEN_SEMICOLON)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 390 - if (!self.match_(TOKEN_SEMICOLON)) { [INFO] [stdout] 390 + if !self.match_(TOKEN_SEMICOLON) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:400:12 [INFO] [stdout] | [INFO] [stdout] 400 | if (!self.match_(TOKEN_RIGHT_PAREN)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 400 - if (!self.match_(TOKEN_RIGHT_PAREN)) { [INFO] [stdout] 400 + if !self.match_(TOKEN_RIGHT_PAREN) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:460:16 [INFO] [stdout] | [INFO] [stdout] 460 | if (self.parser.previous.r#type == TOKEN_SEMICOLON) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 460 - if (self.parser.previous.r#type == TOKEN_SEMICOLON) { [INFO] [stdout] 460 + if self.parser.previous.r#type == TOKEN_SEMICOLON { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/compiler.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 696 | if (constant > u8::MAX as usize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 696 - if (constant > u8::MAX as usize) { [INFO] [stdout] 696 + if constant > u8::MAX as usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Value` [INFO] [stdout] --> src/debug.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::value::{print_value, Value}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> src/object/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | string(String), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::read_to_string` [INFO] [stdout] --> src/scanner.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::read_to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LEFT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | TOKEN_LEFT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLeftParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RIGHT_PAREN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | TOKEN_RIGHT_PAREN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenRightParen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LEFT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | TOKEN_LEFT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLeftBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RIGHT_BRACE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | TOKEN_RIGHT_BRACE, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenRightBrace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_COMMA` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | TOKEN_COMMA, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenComma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_DOT` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | TOKEN_DOT, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenDot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_MINUS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | TOKEN_MINUS, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenMinus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_PLUS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | TOKEN_PLUS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenPlus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SEMICOLON` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | TOKEN_SEMICOLON, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSemicolon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SLASH` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | TOKEN_SLASH, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSlash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_STAR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | TOKEN_STAR, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenStar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_BANG` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | TOKEN_BANG, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenBang` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_BANG_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | TOKEN_BANG_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenBangEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | TOKEN_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EQUAL_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | TOKEN_EQUAL_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEqualEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_GREATER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | TOKEN_GREATER, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenGreater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_GREATER_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | TOKEN_GREATER_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenGreaterEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LESS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | TOKEN_LESS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_LESS_EQUAL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | TOKEN_LESS_EQUAL, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenLessEqual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_IDENTIFIER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | TOKEN_IDENTIFIER, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenIdentifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_STRING` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | TOKEN_STRING, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenString` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_NUMBER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | TOKEN_NUMBER, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenNumber` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_AND` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | TOKEN_AND, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenAnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_CLASS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | TOKEN_CLASS, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenClass` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_ELSE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | TOKEN_ELSE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenElse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FALSE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | TOKEN_FALSE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFalse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FOR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | TOKEN_FOR, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_FUN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | TOKEN_FUN, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenFun` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_IF` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | TOKEN_IF, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `TokenIf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_NIL` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | TOKEN_NIL, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenNil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_OR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | TOKEN_OR, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `TokenOr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_PRINT` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | TOKEN_PRINT, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenPrint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_RETURN` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | TOKEN_RETURN, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenReturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_SUPER` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | TOKEN_SUPER, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenSuper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_THIS` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | TOKEN_THIS, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenThis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_TRUE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | TOKEN_TRUE, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenTrue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_VAR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | TOKEN_VAR, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenVar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_WHILE` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | TOKEN_WHILE, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenWhile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_ERROR` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | TOKEN_ERROR, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TOKEN_EOF` should have an upper camel case name [INFO] [stdout] --> src/scanner.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | TOKEN_EOF, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `TokenEof` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/scanner.rs:242:15 [INFO] [stdout] | [INFO] [stdout] 242 | while (self.peek() != '"' && !self.is_at_end()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 242 - while (self.peek() != '"' && !self.is_at_end()) { [INFO] [stdout] 242 + while self.peek() != '"' && !self.is_at_end() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:243:16 [INFO] [stdout] | [INFO] [stdout] 243 | if (self.peek() == '\n') { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 243 - if (self.peek() == '\n') { [INFO] [stdout] 243 + if self.peek() == '\n' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 249 | if (self.is_at_end()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 249 - if (self.is_at_end()) { [INFO] [stdout] 249 + if self.is_at_end() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/scanner.rs:306:20 [INFO] [stdout] | [INFO] [stdout] 306 | if (self.current - self.start > 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 306 - if (self.current - self.start > 1) { [INFO] [stdout] 306 + if self.current - self.start > 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Formatter` [INFO] [stdout] --> src/value.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::{Debug, Formatter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `boolean` should have an upper camel case name [INFO] [stdout] --> src/value.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | boolean(bool), [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `Boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `number` should have an upper camel case name [INFO] [stdout] --> src/value.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | number(f64), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `obj` should have an upper camel case name [INFO] [stdout] --> src/value.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | obj(Obj), [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `nil` should have an upper camel case name [INFO] [stdout] --> src/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | nil, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chunk::OpCode::OP_NIL` [INFO] [stdout] --> src/vm.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::chunk::OpCode::OP_NIL; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::debug` [INFO] [stdout] --> src/vm.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::debug; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_OK` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | INTERPRET_OK, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretOk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | INTERPRET_COMPILE_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | INTERPRET_RUNTIME_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_CONSTANT`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_RETURN` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::chunk::OpCode::{OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::PartialEq` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::cmp::PartialEq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::atomic::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `value::*` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use value::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `emitByte` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 404 | self.emitByte(OP_POP); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `emit_byte` with a similar name [INFO] [stdout] | [INFO] [stdout] 404 - self.emitByte(OP_POP); [INFO] [stdout] 404 + self.emit_byte(OP_POP); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `emitLoop` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:407:18 [INFO] [stdout] | [INFO] [stdout] 407 | self.emitLoop(loop_start); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `emit_loop` with a similar name [INFO] [stdout] | [INFO] [stdout] 407 - self.emitLoop(loop_start); [INFO] [stdout] 407 + self.emit_loop(loop_start); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `patchJump` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:409:18 [INFO] [stdout] | [INFO] [stdout] 409 | self.patchJump(bodyJump); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `patch_jump` with a similar name [INFO] [stdout] | [INFO] [stdout] 409 - self.patchJump(bodyJump); [INFO] [stdout] 409 + self.patch_jump(bodyJump); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: TryFrom` is not satisfied [INFO] [stdout] --> src/debug.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: From` is not satisfied [INFO] [stdout] --> src/debug.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: TryFrom` is not satisfied [INFO] [stdout] --> src/vm.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: From` is not satisfied [INFO] [stdout] --> src/vm.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:207:27 [INFO] [stdout] | [INFO] [stdout] 207 | fn literal(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 226 | TOKEN_COMMA => Some(ParseRule::new(None, None, PREC_NONE)), [INFO] [stdout] | ----------- matches all the relevant values [INFO] [stdout] 227 | [INFO] [stdout] 228 | TOKEN_COMMA => Some(ParseRule::new(None, None, PREC_NONE)), [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: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:216:50 [INFO] [stdout] | [INFO] [stdout] 216 | fn get_rule(&self, operator_type: TokenType, can_assign: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:338:28 [INFO] [stdout] | [INFO] [stdout] 338 | fn grouping(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:501:26 [INFO] [stdout] | [INFO] [stdout] 501 | fn number(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:511:22 [INFO] [stdout] | [INFO] [stdout] 511 | fn or(&mut self, can_assign: bool ) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:522:26 [INFO] [stdout] | [INFO] [stdout] 522 | fn string(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `get_op` [INFO] [stdout] --> src/compiler.rs:533:19 [INFO] [stdout] | [INFO] [stdout] 533 | let (arg, get_op, set_op) = match self.resolve_local(name) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `set_op` [INFO] [stdout] --> src/compiler.rs:533:27 [INFO] [stdout] | [INFO] [stdout] 533 | let (arg, get_op, set_op) = match self.resolve_local(name) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_set_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:547:25 [INFO] [stdout] | [INFO] [stdout] 547 | fn unary(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:618:23 [INFO] [stdout] | [INFO] [stdout] 618 | fn and(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/compiler.rs:638:16 [INFO] [stdout] | [INFO] [stdout] 636 | let local = &mut self.locals[i]; [INFO] [stdout] | ----------- mutable borrow occurs here [INFO] [stdout] 637 | let local_name = local.name.clone(); [INFO] [stdout] 638 | if self.identifiers_equal(name, &local_name) { [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] 639 | if local.depth == -1 { [INFO] [stdout] | ----------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/compiler.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | fn from(value: u8) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/object/mod.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | string(v) => print!("{:?}", self), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/object/mod.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 21 | string(_) => true, [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 22 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/object/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 28 | string(v) => v, [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 29 | _ => "", [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `emitByte` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 404 | self.emitByte(OP_POP); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `emit_byte` with a similar name [INFO] [stdout] | [INFO] [stdout] 404 - self.emitByte(OP_POP); [INFO] [stdout] 404 + self.emit_byte(OP_POP); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/vm.rs:223:33 [INFO] [stdout] | [INFO] [stdout] 223 | fn runtime_error(&mut self, msg: &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(n) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | Err(e) => return, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0502, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `emitLoop` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:407:18 [INFO] [stdout] | [INFO] [stdout] 407 | self.emitLoop(loop_start); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `emit_loop` with a similar name [INFO] [stdout] | [INFO] [stdout] 407 - self.emitLoop(loop_start); [INFO] [stdout] 407 + self.emit_loop(loop_start); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `patchJump` found for mutable reference `&mut Compiler` in the current scope [INFO] [stdout] --> src/compiler.rs:409:18 [INFO] [stdout] | [INFO] [stdout] 409 | self.patchJump(bodyJump); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `patch_jump` with a similar name [INFO] [stdout] | [INFO] [stdout] 409 - self.patchJump(bodyJump); [INFO] [stdout] 409 + self.patch_jump(bodyJump); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `r-lox-bytecode` (bin "r-lox-bytecode" test) due to 8 previous errors; 127 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the trait bound `OpCode: TryFrom` is not satisfied [INFO] [stdout] --> src/debug.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: From` is not satisfied [INFO] [stdout] --> src/debug.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: TryFrom` is not satisfied [INFO] [stdout] --> src/vm.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `OpCode: From` is not satisfied [INFO] [stdout] --> src/vm.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | match OpCode::try_from(instruction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `From` is not implemented for `OpCode` [INFO] [stdout] --> src/chunk.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum OpCode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: required for `u8` to implement `Into` [INFO] [stdout] = note: required for `OpCode` to implement `TryFrom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:207:27 [INFO] [stdout] | [INFO] [stdout] 207 | fn literal(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 226 | TOKEN_COMMA => Some(ParseRule::new(None, None, PREC_NONE)), [INFO] [stdout] | ----------- matches all the relevant values [INFO] [stdout] 227 | [INFO] [stdout] 228 | TOKEN_COMMA => Some(ParseRule::new(None, None, PREC_NONE)), [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: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:216:50 [INFO] [stdout] | [INFO] [stdout] 216 | fn get_rule(&self, operator_type: TokenType, can_assign: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:338:28 [INFO] [stdout] | [INFO] [stdout] 338 | fn grouping(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:501:26 [INFO] [stdout] | [INFO] [stdout] 501 | fn number(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:511:22 [INFO] [stdout] | [INFO] [stdout] 511 | fn or(&mut self, can_assign: bool ) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:522:26 [INFO] [stdout] | [INFO] [stdout] 522 | fn string(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `get_op` [INFO] [stdout] --> src/compiler.rs:533:19 [INFO] [stdout] | [INFO] [stdout] 533 | let (arg, get_op, set_op) = match self.resolve_local(name) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `set_op` [INFO] [stdout] --> src/compiler.rs:533:27 [INFO] [stdout] | [INFO] [stdout] 533 | let (arg, get_op, set_op) = match self.resolve_local(name) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_set_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:547:25 [INFO] [stdout] | [INFO] [stdout] 547 | fn unary(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_assign` [INFO] [stdout] --> src/compiler.rs:618:23 [INFO] [stdout] | [INFO] [stdout] 618 | fn and(&mut self, can_assign: bool) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_assign` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/compiler.rs:638:16 [INFO] [stdout] | [INFO] [stdout] 636 | let local = &mut self.locals[i]; [INFO] [stdout] | ----------- mutable borrow occurs here [INFO] [stdout] 637 | let local_name = local.name.clone(); [INFO] [stdout] 638 | if self.identifiers_equal(name, &local_name) { [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] 639 | if local.depth == -1 { [INFO] [stdout] | ----------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/compiler.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | fn from(value: u8) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/object/mod.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | string(v) => print!("{:?}", self), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/object/mod.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 21 | string(_) => true, [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 22 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/object/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 28 | string(v) => v, [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 29 | _ => "", [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/vm.rs:223:33 [INFO] [stdout] | [INFO] [stdout] 223 | fn runtime_error(&mut self, msg: &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(n) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | Err(e) => return, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0502, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `r-lox-bytecode` (bin "r-lox-bytecode") due to 8 previous errors; 127 warnings emitted [INFO] running `Command { std: "docker" "inspect" "c15119cdfe0997c0b1b175559784e922026bf297dfd2159c099bebd508c057ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c15119cdfe0997c0b1b175559784e922026bf297dfd2159c099bebd508c057ff", kill_on_drop: false }` [INFO] [stdout] c15119cdfe0997c0b1b175559784e922026bf297dfd2159c099bebd508c057ff