[INFO] cloning repository https://github.com/gedatsu217/monkey_interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gedatsu217/monkey_interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgedatsu217%2Fmonkey_interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgedatsu217%2Fmonkey_interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 003fccc89f6a97fe3f93a1597b2a970db5c40e80 [INFO] testing gedatsu217/monkey_interpreter against try#ecabaf78506b7a4668d42dc20268c086b93f0fad for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgedatsu217%2Fmonkey_interpreter" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gedatsu217/monkey_interpreter on toolchain ecabaf78506b7a4668d42dc20268c086b93f0fad [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/gedatsu217/monkey_interpreter [INFO] finished tweaking git repo https://github.com/gedatsu217/monkey_interpreter [INFO] tweaked toml for git repo https://github.com/gedatsu217/monkey_interpreter written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/gedatsu217/monkey_interpreter already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 80ea7ff2f8a99ca6e340e2c2777da077223add2688e808f71095c8fda5868dab [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "80ea7ff2f8a99ca6e340e2c2777da077223add2688e808f71095c8fda5868dab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "80ea7ff2f8a99ca6e340e2c2777da077223add2688e808f71095c8fda5868dab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80ea7ff2f8a99ca6e340e2c2777da077223add2688e808f71095c8fda5868dab", kill_on_drop: false }` [INFO] [stdout] 80ea7ff2f8a99ca6e340e2c2777da077223add2688e808f71095c8fda5868dab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 895cf10539a5149440a3f75a012f718fcf2cab7dcb917f5ac29da08567f71efb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "895cf10539a5149440a3f75a012f718fcf2cab7dcb917f5ac29da08567f71efb", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling siphasher v0.3.5 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling phf_shared v0.9.0 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling phf_generator v0.9.0 [INFO] [stderr] Compiling phf_macros v0.9.0 [INFO] [stderr] Compiling phf v0.9.0 [INFO] [stderr] Compiling monkey_interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `token::Token` [INFO] [stdout] --> src/parser.rs:1:60 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{ast, ast::Program, lexer, lexer::Lexer, token, token::Token}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repl`, `token` [INFO] [stdout] --> src/repl.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{lexer, repl, token}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Statement` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: to match on the variant, qualify the path: `Statement::Nil` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Nil` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_Nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok` [INFO] [stdout] --> src/token.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let tok: TokenType; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `position` [INFO] [stdout] --> src/lexer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | position: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `PROMPT` [INFO] [stdout] --> src/repl.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const PROMPT: &str = ">> "; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Object` [INFO] [stdout] --> src/object.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Object { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Type` [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Inspect` [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | Name: Identifier, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Value: Expression, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | ReturnValue: Expression, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:39 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:52 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:52 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:42 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:53 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Nil` should have a snake case name [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub Value: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | Value: i64, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | Left: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | Value: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | Condition: Box, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Consequence: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | Alternative: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | Parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | Body: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | Function: Box, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | Arguments: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Identifier` should have a snake case name [INFO] [stdout] --> src/ast.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | Expression::Identifier(Identifier) => Identifier.Value.clone(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:43 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | Left, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:35 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | Condition, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | Consequence, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | Alternative, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | Parameters, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | Body, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | Function, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | Arguments, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `readPosition` should have a snake case name [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | readPosition: i32, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `read_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `New` should have a snake case name [INFO] [stdout] --> src/lexer.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn New(input: String) -> Lexer { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn readChar(&mut self) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `NextToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn NextToken(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readIdentifier` should have a snake case name [INFO] [stdout] --> src/lexer.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | fn readIdentifier(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readNumber` should have a snake case name [INFO] [stdout] --> src/lexer.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | fn readNumber(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `read_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `skipWhitespace` should have a snake case name [INFO] [stdout] --> src/lexer.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn skipWhitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | fn peekChar(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `peek_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tokenType` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `token_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isLetter` should have a snake case name [INFO] [stdout] --> src/lexer.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn isLetter(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_letter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isDigit` should have a snake case name [INFO] [stdout] --> src/lexer.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn isDigit(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_digit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `precedences` should have an upper case name [INFO] [stdout] --> src/parser.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static precedences: phf::Map<&'static str, i32> = phf_map! { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `curToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | curToken: token::Token, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `cur_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `peekToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | peekToken: token::Token, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `New` should have a snake case name [INFO] [stdout] --> src/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn New(self) -> Parser { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nextToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | fn nextToken(&mut self) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ParseProgram` should have a snake case name [INFO] [stdout] --> src/parser.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn ParseProgram(&mut self) -> Program { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | fn parseStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseLetStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn parseLetStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_let_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | fn curTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `cur_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn peekTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `peek_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expectPeek` should have a snake case name [INFO] [stdout] --> src/parser.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | fn expectPeek(&mut self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expect_peek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Errors` should have a snake case name [INFO] [stdout] --> src/parser.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn Errors(&self) -> &Vec { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekError` should have a snake case name [INFO] [stdout] --> src/parser.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | fn peekError(&mut self, t: token::TokenType) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `checkParserErrors` should have a snake case name [INFO] [stdout] --> src/parser.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn checkParserErrors(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseReturnStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | fn parseReturnStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_return_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpressionStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | fn parseExpressionStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | fn parseExpression(&mut self, precedence: i32) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIntergerLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn parseIntergerLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_interger_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parsePrefixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | fn parsePrefixExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_prefix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | fn peekPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `peek_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | fn curPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cur_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseInfixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | fn parseInfixExpression(&mut self, left: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_infix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBoolean` should have a snake case name [INFO] [stdout] --> src/parser.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | fn parseBoolean(&self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseGroupedExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | fn parseGroupedExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_grouped_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIfExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | fn parseIfExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_if_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBlockStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | fn parseBlockStatement(&mut self) -> ast::Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_block_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | fn parseFunctionLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionParameters` should have a snake case name [INFO] [stdout] --> src/parser.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 397 | fn parseFunctionParameters(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | fn parseCallExpression(&mut self, function: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallArguments` should have a snake case name [INFO] [stdout] --> src/parser.rs:441:8 [INFO] [stdout] | [INFO] [stdout] 441 | fn parseCallArguments(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Start` should have a snake case name [INFO] [stdout] --> src/repl.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn Start() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printParserErrors` should have a snake case name [INFO] [stdout] --> src/repl.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn printParserErrors(errors: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Type` should have a snake case name [INFO] [stdout] --> src/token.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub Type: TokenType, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 41 | pub r#type: TokenType, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Literal` should have a snake case name [INFO] [stdout] --> src/token.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub Literal: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `LookupIdent` should have a snake case name [INFO] [stdout] --> src/token.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn LookupIdent(ident: &String) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | Integer{Value: i64}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | Boolean{Value: bool}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Type` should have a snake case name [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 15 | fn r#type(&self) -> ObjectType { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Inspect` should have a snake case name [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 138 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 31.86s [INFO] running `Command { std: "docker" "inspect" "895cf10539a5149440a3f75a012f718fcf2cab7dcb917f5ac29da08567f71efb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "895cf10539a5149440a3f75a012f718fcf2cab7dcb917f5ac29da08567f71efb", kill_on_drop: false }` [INFO] [stdout] 895cf10539a5149440a3f75a012f718fcf2cab7dcb917f5ac29da08567f71efb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bfecd1caa062e2666757f0eb914fbbd9d2eda37f109edbd5f2e95a1b8558af16 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "bfecd1caa062e2666757f0eb914fbbd9d2eda37f109edbd5f2e95a1b8558af16", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `token::Token` [INFO] [stdout] --> src/parser.rs:1:60 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{ast, ast::Program, lexer, lexer::Lexer, token, token::Token}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repl`, `token` [INFO] [stdout] --> src/repl.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{lexer, repl, token}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Statement` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: to match on the variant, qualify the path: `Statement::Nil` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Nil` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_Nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok` [INFO] [stdout] --> src/token.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let tok: TokenType; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `position` [INFO] [stdout] --> src/lexer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | position: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `PROMPT` [INFO] [stdout] --> src/repl.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const PROMPT: &str = ">> "; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Object` [INFO] [stdout] --> src/object.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Object { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Type` [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Inspect` [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | Name: Identifier, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Value: Expression, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | ReturnValue: Expression, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:39 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:52 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:52 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:42 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:53 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Nil` should have a snake case name [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub Value: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | Value: i64, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | Left: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | Value: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | Condition: Box, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Consequence: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | Alternative: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | Parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | Body: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | Function: Box, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | Arguments: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Identifier` should have a snake case name [INFO] [stdout] --> src/ast.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | Expression::Identifier(Identifier) => Identifier.Value.clone(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:43 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | Left, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:35 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | Condition, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | Consequence, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | Alternative, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | Parameters, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | Body, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | Function, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | Arguments, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `readPosition` should have a snake case name [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | readPosition: i32, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `read_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `New` should have a snake case name [INFO] [stdout] --> src/lexer.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn New(input: String) -> Lexer { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn readChar(&mut self) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `NextToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn NextToken(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readIdentifier` should have a snake case name [INFO] [stdout] --> src/lexer.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | fn readIdentifier(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readNumber` should have a snake case name [INFO] [stdout] --> src/lexer.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | fn readNumber(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `read_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `skipWhitespace` should have a snake case name [INFO] [stdout] --> src/lexer.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn skipWhitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | fn peekChar(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `peek_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tokenType` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `token_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isLetter` should have a snake case name [INFO] [stdout] --> src/lexer.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn isLetter(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_letter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isDigit` should have a snake case name [INFO] [stdout] --> src/lexer.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn isDigit(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_digit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `precedences` should have an upper case name [INFO] [stdout] --> src/parser.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static precedences: phf::Map<&'static str, i32> = phf_map! { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `curToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | curToken: token::Token, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `cur_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `peekToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | peekToken: token::Token, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `New` should have a snake case name [INFO] [stdout] --> src/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn New(self) -> Parser { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nextToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | fn nextToken(&mut self) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ParseProgram` should have a snake case name [INFO] [stdout] --> src/parser.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn ParseProgram(&mut self) -> Program { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | fn parseStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseLetStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn parseLetStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_let_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | fn curTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `cur_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn peekTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `peek_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expectPeek` should have a snake case name [INFO] [stdout] --> src/parser.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | fn expectPeek(&mut self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expect_peek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Errors` should have a snake case name [INFO] [stdout] --> src/parser.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn Errors(&self) -> &Vec { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekError` should have a snake case name [INFO] [stdout] --> src/parser.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | fn peekError(&mut self, t: token::TokenType) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `checkParserErrors` should have a snake case name [INFO] [stdout] --> src/parser.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn checkParserErrors(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseReturnStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | fn parseReturnStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_return_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpressionStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | fn parseExpressionStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | fn parseExpression(&mut self, precedence: i32) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIntergerLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn parseIntergerLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_interger_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parsePrefixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | fn parsePrefixExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_prefix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | fn peekPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `peek_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | fn curPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cur_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseInfixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | fn parseInfixExpression(&mut self, left: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_infix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBoolean` should have a snake case name [INFO] [stdout] --> src/parser.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | fn parseBoolean(&self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseGroupedExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | fn parseGroupedExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_grouped_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIfExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | fn parseIfExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_if_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBlockStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | fn parseBlockStatement(&mut self) -> ast::Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_block_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | fn parseFunctionLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionParameters` should have a snake case name [INFO] [stdout] --> src/parser.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 397 | fn parseFunctionParameters(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | fn parseCallExpression(&mut self, function: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallArguments` should have a snake case name [INFO] [stdout] --> src/parser.rs:441:8 [INFO] [stdout] | [INFO] [stdout] 441 | fn parseCallArguments(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Start` should have a snake case name [INFO] [stdout] --> src/repl.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn Start() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printParserErrors` should have a snake case name [INFO] [stdout] --> src/repl.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn printParserErrors(errors: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Type` should have a snake case name [INFO] [stdout] --> src/token.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub Type: TokenType, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 41 | pub r#type: TokenType, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Literal` should have a snake case name [INFO] [stdout] --> src/token.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub Literal: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `LookupIdent` should have a snake case name [INFO] [stdout] --> src/token.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn LookupIdent(ident: &String) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | Integer{Value: i64}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | Boolean{Value: bool}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Type` should have a snake case name [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 15 | fn r#type(&self) -> ObjectType { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Inspect` should have a snake case name [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 138 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stderr] Compiling monkey_interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `token::Token` [INFO] [stdout] --> src/parser.rs:1:60 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{ast, ast::Program, lexer, lexer::Lexer, token, token::Token}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repl`, `token` [INFO] [stdout] --> src/repl.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{lexer, repl, token}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parser` [INFO] [stdout] --> tests/parser_test.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use monkey_interpreter::{ast, lexer, parser, token, token::Token}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | struct tests_struct { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | struct tests_struct { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `prefixTests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | struct prefixTests_struct { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrefixTestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `infixTests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:384:12 [INFO] [stdout] | [INFO] [stdout] 384 | struct infixTests_struct { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InfixTestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:778:12 [INFO] [stdout] | [INFO] [stdout] 778 | struct tests_struct { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:963:12 [INFO] [stdout] | [INFO] [stdout] 963 | struct tests_struct { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tests_struct` should have an upper camel case name [INFO] [stdout] --> tests/parser_test.rs:1329:12 [INFO] [stdout] | [INFO] [stdout] 1329 | struct tests_struct { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Statement` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: to match on the variant, qualify the path: `Statement::Nil` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Nil` [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_Nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Value` [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok` [INFO] [stdout] --> src/token.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let tok: TokenType; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `position` [INFO] [stdout] --> src/lexer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | position: i32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `PROMPT` [INFO] [stdout] --> src/repl.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const PROMPT: &str = ">> "; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Object` [INFO] [stdout] --> src/object.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | enum Object { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Type` [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `Inspect` [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | Name: Identifier, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Value: Expression, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | ReturnValue: Expression, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:39 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:28:52 [INFO] [stdout] | [INFO] [stdout] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:39 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:41:52 [INFO] [stdout] | [INFO] [stdout] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:42 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ReturnValue` should have a snake case name [INFO] [stdout] --> src/ast.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> src/ast.rs:52:53 [INFO] [stdout] | [INFO] [stdout] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Nil` should have a snake case name [INFO] [stdout] --> src/ast.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | Nil => "".to_string(), [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `nil` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub Value: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | Value: i64, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | Left: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Operator: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Right: Box, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | Value: bool, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | Condition: Box, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Consequence: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | Alternative: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | Parameters: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | Body: Box, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | Token: token::Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | Function: Box, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | Arguments: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Identifier` should have a snake case name [INFO] [stdout] --> src/ast.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | Expression::Identifier(Identifier) => Identifier.Value.clone(), [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:43 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:127:50 [INFO] [stdout] | [INFO] [stdout] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestNextToken` should have a snake case name [INFO] [stdout] --> tests/lexer_test.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn TestNextToken() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_next_token` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedType` should have a snake case name [INFO] [stdout] --> tests/lexer_test.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | expectedType: token::TokenType, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedLiteral` should have a snake case name [INFO] [stdout] --> tests/lexer_test.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | expectedLiteral: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> src/ast.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | Left, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> src/ast.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/ast.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:35 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> src/ast.rs:147:42 [INFO] [stdout] | [INFO] [stdout] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Condition` should have a snake case name [INFO] [stdout] --> src/ast.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | Condition, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Consequence` should have a snake case name [INFO] [stdout] --> src/ast.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | Consequence, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Alternative` should have a snake case name [INFO] [stdout] --> src/ast.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | Alternative, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Parameters` should have a snake case name [INFO] [stdout] --> src/ast.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | Parameters, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Body` should have a snake case name [INFO] [stdout] --> src/ast.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | Body, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> src/ast.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Function` should have a snake case name [INFO] [stdout] --> src/ast.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | Function, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Arguments` should have a snake case name [INFO] [stdout] --> src/ast.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | Arguments, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Statements` should have a snake case name [INFO] [stdout] --> src/ast.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub Statements: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `readPosition` should have a snake case name [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | readPosition: i32, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `read_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `New` should have a snake case name [INFO] [stdout] --> src/lexer.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn New(input: String) -> Lexer { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn readChar(&mut self) { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `NextToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn NextToken(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readIdentifier` should have a snake case name [INFO] [stdout] --> src/lexer.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | fn readIdentifier(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `readNumber` should have a snake case name [INFO] [stdout] --> src/lexer.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | fn readNumber(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `read_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `skipWhitespace` should have a snake case name [INFO] [stdout] --> src/lexer.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn skipWhitespace(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekChar` should have a snake case name [INFO] [stdout] --> src/lexer.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | fn peekChar(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `peek_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newToken` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tokenType` should have a snake case name [INFO] [stdout] --> src/lexer.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `token_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isLetter` should have a snake case name [INFO] [stdout] --> src/lexer.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn isLetter(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_letter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isDigit` should have a snake case name [INFO] [stdout] --> src/lexer.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn isDigit(s: &Option) -> bool { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_digit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `precedences` should have an upper case name [INFO] [stdout] --> src/parser.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static precedences: phf::Map<&'static str, i32> = phf_map! { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `curToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | curToken: token::Token, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `cur_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `peekToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | peekToken: token::Token, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `New` should have a snake case name [INFO] [stdout] --> src/parser.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn New(self) -> Parser { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nextToken` should have a snake case name [INFO] [stdout] --> src/parser.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | fn nextToken(&mut self) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ParseProgram` should have a snake case name [INFO] [stdout] --> src/parser.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn ParseProgram(&mut self) -> Program { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | fn parseStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseLetStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn parseLetStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_let_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | fn curTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `cur_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekTokenIs` should have a snake case name [INFO] [stdout] --> src/parser.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn peekTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `peek_token_is` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expectPeek` should have a snake case name [INFO] [stdout] --> src/parser.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | fn expectPeek(&mut self, t: token::TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expect_peek` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Errors` should have a snake case name [INFO] [stdout] --> src/parser.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn Errors(&self) -> &Vec { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekError` should have a snake case name [INFO] [stdout] --> src/parser.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | fn peekError(&mut self, t: token::TokenType) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `checkParserErrors` should have a snake case name [INFO] [stdout] --> src/parser.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn checkParserErrors(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseReturnStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | fn parseReturnStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_return_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpressionStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | fn parseExpressionStatement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | fn parseExpression(&mut self, precedence: i32) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIntergerLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn parseIntergerLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_interger_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parsePrefixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:259:8 [INFO] [stdout] | [INFO] [stdout] 259 | fn parsePrefixExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_prefix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peekPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | fn peekPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `peek_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `curPrecedence` should have a snake case name [INFO] [stdout] --> src/parser.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | fn curPrecedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cur_precedence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseInfixExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | fn parseInfixExpression(&mut self, left: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_infix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBoolean` should have a snake case name [INFO] [stdout] --> src/parser.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | fn parseBoolean(&self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseGroupedExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | fn parseGroupedExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_grouped_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseIfExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | fn parseIfExpression(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_if_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseBlockStatement` should have a snake case name [INFO] [stdout] --> src/parser.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | fn parseBlockStatement(&mut self) -> ast::Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_block_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionLiteral` should have a snake case name [INFO] [stdout] --> src/parser.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | fn parseFunctionLiteral(&mut self) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseFunctionParameters` should have a snake case name [INFO] [stdout] --> src/parser.rs:397:8 [INFO] [stdout] | [INFO] [stdout] 397 | fn parseFunctionParameters(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallExpression` should have a snake case name [INFO] [stdout] --> src/parser.rs:430:8 [INFO] [stdout] | [INFO] [stdout] 430 | fn parseCallExpression(&mut self, function: ast::Expression) -> ast::Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parseCallArguments` should have a snake case name [INFO] [stdout] --> src/parser.rs:441:8 [INFO] [stdout] | [INFO] [stdout] 441 | fn parseCallArguments(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Start` should have a snake case name [INFO] [stdout] --> src/repl.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn Start() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `printParserErrors` should have a snake case name [INFO] [stdout] --> src/repl.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn printParserErrors(errors: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_parser_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Type` should have a snake case name [INFO] [stdout] --> src/token.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub Type: TokenType, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 41 | pub r#type: TokenType, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Literal` should have a snake case name [INFO] [stdout] --> src/token.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub Literal: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `LookupIdent` should have a snake case name [INFO] [stdout] --> src/token.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn LookupIdent(ident: &String) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | Integer{Value: i64}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/object.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | Boolean{Value: bool}, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Type` should have a snake case name [INFO] [stdout] --> src/object.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn Type(&self) -> ObjectType { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 15 | fn r#type(&self) -> ObjectType { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `Inspect` should have a snake case name [INFO] [stdout] --> src/object.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | fn Inspect(&self) -> String { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:918:44 [INFO] [stdout] | [INFO] [stdout] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:920:36 [INFO] [stdout] | [INFO] [stdout] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:935:9 [INFO] [stdout] | [INFO] [stdout] 935 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:69:47 [INFO] [stdout] | [INFO] [stdout] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Name` [INFO] [stdout] --> tests/parser_test.rs:69:54 [INFO] [stdout] | [INFO] [stdout] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stdout] | ^^^^ help: try ignoring the field: `Name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:196:50 [INFO] [stdout] | [INFO] [stdout] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:228:50 [INFO] [stdout] | [INFO] [stdout] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:337:54 [INFO] [stdout] | [INFO] [stdout] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:750:54 [INFO] [stdout] | [INFO] [stdout] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:752:17 [INFO] [stdout] | [INFO] [stdout] 752 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:995:54 [INFO] [stdout] | [INFO] [stdout] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:996:47 [INFO] [stdout] | [INFO] [stdout] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1043:50 [INFO] [stdout] | [INFO] [stdout] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1072:53 [INFO] [stdout] | [INFO] [stdout] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1080:62 [INFO] [stdout] | [INFO] [stdout] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1130:50 [INFO] [stdout] | [INFO] [stdout] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1132:13 [INFO] [stdout] | [INFO] [stdout] 1132 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1159:53 [INFO] [stdout] | [INFO] [stdout] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1167:62 [INFO] [stdout] | [INFO] [stdout] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1182:53 [INFO] [stdout] | [INFO] [stdout] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1190:62 [INFO] [stdout] | [INFO] [stdout] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1234:50 [INFO] [stdout] | [INFO] [stdout] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1236:13 [INFO] [stdout] | [INFO] [stdout] 1236 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1274:53 [INFO] [stdout] | [INFO] [stdout] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1282:62 [INFO] [stdout] | [INFO] [stdout] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1356:54 [INFO] [stdout] | [INFO] [stdout] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1358:17 [INFO] [stdout] | [INFO] [stdout] 1358 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Body` [INFO] [stdout] --> tests/parser_test.rs:1360:17 [INFO] [stdout] | [INFO] [stdout] 1360 | Body, [INFO] [stdout] | ^^^^ help: try ignoring the field: `Body: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1416:50 [INFO] [stdout] | [INFO] [stdout] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Token` [INFO] [stdout] --> tests/parser_test.rs:1418:13 [INFO] [stdout] | [INFO] [stdout] 1418 | Token, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/parser_test.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | let mut program = p.ParseProgram(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ExpectedIdentifiers` [INFO] [stdout] --> tests/parser_test.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct ExpectedIdentifiers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `leftValue` [INFO] [stdout] --> tests/parser_test.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | leftValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `operator` [INFO] [stdout] --> tests/parser_test.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | operator: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rightValue` [INFO] [stdout] --> tests/parser_test.rs:388:9 [INFO] [stdout] | [INFO] [stdout] 388 | rightValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedIdentifier` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | expectedIdentifier: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_identifier` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestLetStatements` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn TestLetStatements() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedIdentifier` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | expectedIdentifier: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedValue` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | expectedValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:69:47 [INFO] [stdout] | [INFO] [stdout] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:69:54 [INFO] [stdout] | [INFO] [stdout] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:69:60 [INFO] [stdout] | [INFO] [stdout] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testLetStatement` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn testLetStatement(s: &ast::Statement, name: &String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:82:43 [INFO] [stdout] | [INFO] [stdout] 82 | if let ast::Statement::LetStatement { Token, Name, .. } = s { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Name` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:82:50 [INFO] [stdout] | [INFO] [stdout] 82 | if let ast::Statement::LetStatement { Token, Name, .. } = s { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestReturnStatement` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn TestReturnStatement() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_return_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedValue` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | expectedValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:165:50 [INFO] [stdout] | [INFO] [stdout] 165 | if let ast::Statement::ReturnStatement { Token, ReturnValue } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ReturnValue` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:165:57 [INFO] [stdout] | [INFO] [stdout] 165 | if let ast::Statement::ReturnStatement { Token, ReturnValue } = stmt { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestIdentifierExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn TestIdentifierExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_identifier_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:196:50 [INFO] [stdout] | [INFO] [stdout] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:196:57 [INFO] [stdout] | [INFO] [stdout] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestIntegerLiteralExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:212:4 [INFO] [stdout] | [INFO] [stdout] 212 | fn TestIntegerLiteralExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_literal_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:228:50 [INFO] [stdout] | [INFO] [stdout] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:228:57 [INFO] [stdout] | [INFO] [stdout] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:229:51 [INFO] [stdout] | [INFO] [stdout] 229 | if let ast::Expression::IntergerLiteral { Token, Value } = Expression { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:229:58 [INFO] [stdout] | [INFO] [stdout] 229 | if let ast::Expression::IntergerLiteral { Token, Value } = Expression { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestParsingPrefixExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:247:4 [INFO] [stdout] | [INFO] [stdout] 247 | fn TestParsingPrefixExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parsing_prefix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prefixTests` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | let prefixTests = vec![ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `prefix_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:337:54 [INFO] [stdout] | [INFO] [stdout] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:337:61 [INFO] [stdout] | [INFO] [stdout] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:340:17 [INFO] [stdout] | [INFO] [stdout] 340 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:341:17 [INFO] [stdout] | [INFO] [stdout] 341 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testIntegerLiteral` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:365:4 [INFO] [stdout] | [INFO] [stdout] 365 | fn testIntegerLiteral(il: &ast::Expression, value: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:366:47 [INFO] [stdout] | [INFO] [stdout] 366 | if let ast::Expression::IntergerLiteral { Token, Value } = il { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:366:54 [INFO] [stdout] | [INFO] [stdout] 366 | if let ast::Expression::IntergerLiteral { Token, Value } = il { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestParsingInfixExpressions` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:383:4 [INFO] [stdout] | [INFO] [stdout] 383 | fn TestParsingInfixExpressions() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parsing_infix_expressions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `leftValue` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | leftValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `left_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `rightValue` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:388:9 [INFO] [stdout] | [INFO] [stdout] 388 | rightValue: ast::Expression, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `right_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `infixTests` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | let infixTests = vec![ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `infix_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:750:54 [INFO] [stdout] | [INFO] [stdout] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:750:61 [INFO] [stdout] | [INFO] [stdout] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:752:17 [INFO] [stdout] | [INFO] [stdout] 752 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:753:17 [INFO] [stdout] | [INFO] [stdout] 753 | Left, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:754:17 [INFO] [stdout] | [INFO] [stdout] 754 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:755:17 [INFO] [stdout] | [INFO] [stdout] 755 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestOperatorPrecedenceParsing` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:777:4 [INFO] [stdout] | [INFO] [stdout] 777 | fn TestOperatorPrecedenceParsing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_operator_precedence_parsing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testIdentifier` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:897:4 [INFO] [stdout] | [INFO] [stdout] 897 | fn testIdentifier(exp: &ast::Expression, value: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testLiteralExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:916:4 [INFO] [stdout] | [INFO] [stdout] 916 | fn testLiteralExpression(exp: &ast::Expression, expected: &ast::Expression) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_literal_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:918:44 [INFO] [stdout] | [INFO] [stdout] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:918:51 [INFO] [stdout] | [INFO] [stdout] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:920:36 [INFO] [stdout] | [INFO] [stdout] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:920:43 [INFO] [stdout] | [INFO] [stdout] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testInfixExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:928:4 [INFO] [stdout] | [INFO] [stdout] 928 | fn testInfixExpression( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_infix_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:935:9 [INFO] [stdout] | [INFO] [stdout] 935 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:936:9 [INFO] [stdout] | [INFO] [stdout] 936 | Left, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Operator` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:937:9 [INFO] [stdout] | [INFO] [stdout] 937 | Operator, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:938:9 [INFO] [stdout] | [INFO] [stdout] 938 | Right, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestBooleanExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:962:4 [INFO] [stdout] | [INFO] [stdout] 962 | fn TestBooleanExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedBoolean` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:965:9 [INFO] [stdout] | [INFO] [stdout] 965 | expectedBoolean: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:995:54 [INFO] [stdout] | [INFO] [stdout] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:995:61 [INFO] [stdout] | [INFO] [stdout] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:996:47 [INFO] [stdout] | [INFO] [stdout] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:996:54 [INFO] [stdout] | [INFO] [stdout] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `testBooleanLiteral` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1007:4 [INFO] [stdout] | [INFO] [stdout] 1007 | fn testBooleanLiteral(exp: &ast::Expression, value: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_literal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1008:39 [INFO] [stdout] | [INFO] [stdout] 1008 | if let ast::Expression::Boolean { Token, Value } = exp { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Value` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1008:46 [INFO] [stdout] | [INFO] [stdout] 1008 | if let ast::Expression::Boolean { Token, Value } = exp { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestIfExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1026:4 [INFO] [stdout] | [INFO] [stdout] 1026 | fn TestIfExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1043:50 [INFO] [stdout] | [INFO] [stdout] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1043:57 [INFO] [stdout] | [INFO] [stdout] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Condition` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1046:13 [INFO] [stdout] | [INFO] [stdout] 1046 | Condition, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Consequence` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1047:13 [INFO] [stdout] | [INFO] [stdout] 1047 | Consequence, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Alternative` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1048:13 [INFO] [stdout] | [INFO] [stdout] 1048 | Alternative, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1072:53 [INFO] [stdout] | [INFO] [stdout] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1072:60 [INFO] [stdout] | [INFO] [stdout] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1080:62 [INFO] [stdout] | [INFO] [stdout] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1080:69 [INFO] [stdout] | [INFO] [stdout] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestIfElseExpression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1113:4 [INFO] [stdout] | [INFO] [stdout] 1113 | fn TestIfElseExpression() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_else_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1130:50 [INFO] [stdout] | [INFO] [stdout] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1130:57 [INFO] [stdout] | [INFO] [stdout] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1132:13 [INFO] [stdout] | [INFO] [stdout] 1132 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Condition` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1133:13 [INFO] [stdout] | [INFO] [stdout] 1133 | Condition, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Consequence` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1134:13 [INFO] [stdout] | [INFO] [stdout] 1134 | Consequence, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Alternative` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1135:13 [INFO] [stdout] | [INFO] [stdout] 1135 | Alternative, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1159:53 [INFO] [stdout] | [INFO] [stdout] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1159:60 [INFO] [stdout] | [INFO] [stdout] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1167:62 [INFO] [stdout] | [INFO] [stdout] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1167:69 [INFO] [stdout] | [INFO] [stdout] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1182:53 [INFO] [stdout] | [INFO] [stdout] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1182:60 [INFO] [stdout] | [INFO] [stdout] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1190:62 [INFO] [stdout] | [INFO] [stdout] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1190:69 [INFO] [stdout] | [INFO] [stdout] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestFunctionLiteralParsing` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1219:4 [INFO] [stdout] | [INFO] [stdout] 1219 | fn TestFunctionLiteralParsing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_literal_parsing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1234:50 [INFO] [stdout] | [INFO] [stdout] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1234:57 [INFO] [stdout] | [INFO] [stdout] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1236:13 [INFO] [stdout] | [INFO] [stdout] 1236 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Parameters` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1237:13 [INFO] [stdout] | [INFO] [stdout] 1237 | Parameters, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Body` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1238:13 [INFO] [stdout] | [INFO] [stdout] 1238 | Body, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1274:53 [INFO] [stdout] | [INFO] [stdout] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Statements` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1274:60 [INFO] [stdout] | [INFO] [stdout] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1282:62 [INFO] [stdout] | [INFO] [stdout] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1282:69 [INFO] [stdout] | [INFO] [stdout] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestFunctionParameterParsing` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1328:4 [INFO] [stdout] | [INFO] [stdout] 1328 | fn TestFunctionParameterParsing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_parameter_parsing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedParams` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1331:9 [INFO] [stdout] | [INFO] [stdout] 1331 | expectedParams: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1356:54 [INFO] [stdout] | [INFO] [stdout] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1356:61 [INFO] [stdout] | [INFO] [stdout] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1358:17 [INFO] [stdout] | [INFO] [stdout] 1358 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Parameters` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1359:17 [INFO] [stdout] | [INFO] [stdout] 1359 | Parameters, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Body` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1360:17 [INFO] [stdout] | [INFO] [stdout] 1360 | Body, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `TestCallExpressionParsing` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1401:4 [INFO] [stdout] | [INFO] [stdout] 1401 | fn TestCallExpressionParsing() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_call_expression_parsing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1416:50 [INFO] [stdout] | [INFO] [stdout] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Expression` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1416:57 [INFO] [stdout] | [INFO] [stdout] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Token` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1418:13 [INFO] [stdout] | [INFO] [stdout] 1418 | Token, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Function` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1419:13 [INFO] [stdout] | [INFO] [stdout] 1419 | Function, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Arguments` should have a snake case name [INFO] [stdout] --> tests/parser_test.rs:1420:13 [INFO] [stdout] | [INFO] [stdout] 1420 | Arguments, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 138 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 157 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.10s [INFO] running `Command { std: "docker" "inspect" "bfecd1caa062e2666757f0eb914fbbd9d2eda37f109edbd5f2e95a1b8558af16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bfecd1caa062e2666757f0eb914fbbd9d2eda37f109edbd5f2e95a1b8558af16", kill_on_drop: false }` [INFO] [stdout] bfecd1caa062e2666757f0eb914fbbd9d2eda37f109edbd5f2e95a1b8558af16 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a060e0d3c5e7860ce0908c56e78ddadec6812d9dcc1a255cf062fdd7b7ac9756 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a060e0d3c5e7860ce0908c56e78ddadec6812d9dcc1a255cf062fdd7b7ac9756", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `token::Token` [INFO] [stderr] --> src/parser.rs:1:60 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{ast, ast::Program, lexer, lexer::Lexer, token, token::Token}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `repl`, `token` [INFO] [stderr] --> src/repl.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{lexer, repl, token}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Statement` [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: to match on the variant, qualify the path: `Statement::Nil` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nil` [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_Nil` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Value` [INFO] [stderr] --> src/ast.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Value` [INFO] [stderr] --> src/ast.rs:147:42 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tok` [INFO] [stderr] --> src/token.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let tok: TokenType; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `position` [INFO] [stderr] --> src/lexer.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | position: i32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `PROMPT` [INFO] [stderr] --> src/repl.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const PROMPT: &str = ">> "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Object` [INFO] [stderr] --> src/object.rs:8:6 [INFO] [stderr] | [INFO] [stderr] 8 | enum Object { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `Type` [INFO] [stderr] --> src/object.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | fn Type(&self) -> ObjectType { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `Inspect` [INFO] [stderr] --> src/object.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn Inspect(&self) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | Name: Identifier, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | Value: Expression, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `ReturnValue` should have a snake case name [INFO] [stderr] --> src/ast.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | ReturnValue: Expression, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Expression` should have a snake case name [INFO] [stderr] --> src/ast.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | Expression: Expression, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | Statements: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:46 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:52 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:39 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:52 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:49:42 [INFO] [stderr] | [INFO] [stderr] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `ReturnValue` should have a snake case name [INFO] [stderr] --> src/ast.rs:49:49 [INFO] [stderr] | [INFO] [stderr] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> src/ast.rs:52:53 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:53:48 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Nil` should have a snake case name [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `nil` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | pub Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | pub Value: String, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | Value: i64, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | Operator: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: structure field `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | Right: Box, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Left` should have a snake case name [INFO] [stderr] --> src/ast.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | Left: Box, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stderr] [INFO] [stderr] warning: structure field `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | Operator: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: structure field `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | Right: Box, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | Value: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Condition` should have a snake case name [INFO] [stderr] --> src/ast.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | Condition: Box, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: structure field `Consequence` should have a snake case name [INFO] [stderr] --> src/ast.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | Consequence: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: structure field `Alternative` should have a snake case name [INFO] [stderr] --> src/ast.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | Alternative: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Parameters` should have a snake case name [INFO] [stderr] --> src/ast.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | Parameters: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: structure field `Body` should have a snake case name [INFO] [stderr] --> src/ast.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | Body: Box, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Function` should have a snake case name [INFO] [stderr] --> src/ast.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | Function: Box, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stderr] [INFO] [stderr] warning: structure field `Arguments` should have a snake case name [INFO] [stderr] --> src/ast.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | Arguments: Vec, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stderr] [INFO] [stderr] warning: variable `Identifier` should have a snake case name [INFO] [stderr] --> src/ast.rs:126:36 [INFO] [stderr] | [INFO] [stderr] 126 | Expression::Identifier(Identifier) => Identifier.Value.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:127:43 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:130:17 [INFO] [stderr] | [INFO] [stderr] 130 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Left` should have a snake case name [INFO] [stderr] --> src/ast.rs:135:17 [INFO] [stderr] | [INFO] [stderr] 135 | Left, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:147:35 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:147:42 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Condition` should have a snake case name [INFO] [stderr] --> src/ast.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | Condition, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: variable `Consequence` should have a snake case name [INFO] [stderr] --> src/ast.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | Consequence, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: variable `Alternative` should have a snake case name [INFO] [stderr] --> src/ast.rs:152:17 [INFO] [stderr] | [INFO] [stderr] 152 | Alternative, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:166:17 [INFO] [stderr] | [INFO] [stderr] 166 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Parameters` should have a snake case name [INFO] [stderr] --> src/ast.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | Parameters, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: variable `Body` should have a snake case name [INFO] [stderr] --> src/ast.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | Body, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Function` should have a snake case name [INFO] [stderr] --> src/ast.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | Function, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stderr] [INFO] [stderr] warning: variable `Arguments` should have a snake case name [INFO] [stderr] --> src/ast.rs:179:17 [INFO] [stderr] | [INFO] [stderr] 179 | Arguments, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stderr] [INFO] [stderr] warning: structure field `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | pub Statements: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: structure field `readPosition` should have a snake case name [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | readPosition: i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `read_position` [INFO] [stderr] [INFO] [stderr] warning: function `New` should have a snake case name [INFO] [stderr] --> src/lexer.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn New(input: String) -> Lexer { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stderr] [INFO] [stderr] warning: method `readChar` should have a snake case name [INFO] [stderr] --> src/lexer.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn readChar(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `read_char` [INFO] [stderr] [INFO] [stderr] warning: method `NextToken` should have a snake case name [INFO] [stderr] --> src/lexer.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn NextToken(&mut self) -> Token { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stderr] [INFO] [stderr] warning: method `readIdentifier` should have a snake case name [INFO] [stderr] --> src/lexer.rs:132:8 [INFO] [stderr] | [INFO] [stderr] 132 | fn readIdentifier(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_identifier` [INFO] [stderr] [INFO] [stderr] warning: method `readNumber` should have a snake case name [INFO] [stderr] --> src/lexer.rs:141:8 [INFO] [stderr] | [INFO] [stderr] 141 | fn readNumber(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `read_number` [INFO] [stderr] [INFO] [stderr] warning: method `skipWhitespace` should have a snake case name [INFO] [stderr] --> src/lexer.rs:150:8 [INFO] [stderr] | [INFO] [stderr] 150 | fn skipWhitespace(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace` [INFO] [stderr] [INFO] [stderr] warning: method `peekChar` should have a snake case name [INFO] [stderr] --> src/lexer.rs:161:8 [INFO] [stderr] | [INFO] [stderr] 161 | fn peekChar(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `peek_char` [INFO] [stderr] [INFO] [stderr] warning: function `newToken` should have a snake case name [INFO] [stderr] --> src/lexer.rs:176:8 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stderr] [INFO] [stderr] warning: variable `tokenType` should have a snake case name [INFO] [stderr] --> src/lexer.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `token_type` [INFO] [stderr] [INFO] [stderr] warning: function `isLetter` should have a snake case name [INFO] [stderr] --> src/lexer.rs:183:4 [INFO] [stderr] | [INFO] [stderr] 183 | fn isLetter(s: &Option) -> bool { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `is_letter` [INFO] [stderr] [INFO] [stderr] warning: function `isDigit` should have a snake case name [INFO] [stderr] --> src/lexer.rs:193:4 [INFO] [stderr] | [INFO] [stderr] 193 | fn isDigit(s: &Option) -> bool { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `is_digit` [INFO] [stderr] [INFO] [stderr] warning: static variable `precedences` should have an upper case name [INFO] [stderr] --> src/parser.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | static precedences: phf::Map<&'static str, i32> = phf_map! { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `curToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | curToken: token::Token, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `cur_token` [INFO] [stderr] [INFO] [stderr] warning: structure field `peekToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | peekToken: token::Token, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_token` [INFO] [stderr] [INFO] [stderr] warning: method `New` should have a snake case name [INFO] [stderr] --> src/parser.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn New(self) -> Parser { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stderr] [INFO] [stderr] warning: method `nextToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:47:8 [INFO] [stderr] | [INFO] [stderr] 47 | fn nextToken(&mut self) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stderr] [INFO] [stderr] warning: method `ParseProgram` should have a snake case name [INFO] [stderr] --> src/parser.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn ParseProgram(&mut self) -> Program { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_program` [INFO] [stderr] [INFO] [stderr] warning: method `parseStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | fn parseStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseLetStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | fn parseLetStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_let_statement` [INFO] [stderr] [INFO] [stderr] warning: method `curTokenIs` should have a snake case name [INFO] [stderr] --> src/parser.rs:102:8 [INFO] [stderr] | [INFO] [stderr] 102 | fn curTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `cur_token_is` [INFO] [stderr] [INFO] [stderr] warning: method `peekTokenIs` should have a snake case name [INFO] [stderr] --> src/parser.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | fn peekTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `peek_token_is` [INFO] [stderr] [INFO] [stderr] warning: method `expectPeek` should have a snake case name [INFO] [stderr] --> src/parser.rs:110:8 [INFO] [stderr] | [INFO] [stderr] 110 | fn expectPeek(&mut self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expect_peek` [INFO] [stderr] [INFO] [stderr] warning: method `Errors` should have a snake case name [INFO] [stderr] --> src/parser.rs:120:12 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn Errors(&self) -> &Vec { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `errors` [INFO] [stderr] [INFO] [stderr] warning: method `peekError` should have a snake case name [INFO] [stderr] --> src/parser.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | fn peekError(&mut self, t: token::TokenType) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_error` [INFO] [stderr] [INFO] [stderr] warning: method `checkParserErrors` should have a snake case name [INFO] [stderr] --> src/parser.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn checkParserErrors(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_parser_errors` [INFO] [stderr] [INFO] [stderr] warning: method `parseReturnStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:144:8 [INFO] [stderr] | [INFO] [stderr] 144 | fn parseReturnStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_return_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseExpressionStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | fn parseExpressionStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:177:8 [INFO] [stderr] | [INFO] [stderr] 177 | fn parseExpression(&mut self, precedence: i32) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseIntergerLiteral` should have a snake case name [INFO] [stderr] --> src/parser.rs:243:8 [INFO] [stderr] | [INFO] [stderr] 243 | fn parseIntergerLiteral(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_interger_literal` [INFO] [stderr] [INFO] [stderr] warning: method `parsePrefixExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:259:8 [INFO] [stderr] | [INFO] [stderr] 259 | fn parsePrefixExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_prefix_expression` [INFO] [stderr] [INFO] [stderr] warning: method `peekPrecedence` should have a snake case name [INFO] [stderr] --> src/parser.rs:270:8 [INFO] [stderr] | [INFO] [stderr] 270 | fn peekPrecedence(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `peek_precedence` [INFO] [stderr] [INFO] [stderr] warning: method `curPrecedence` should have a snake case name [INFO] [stderr] --> src/parser.rs:278:8 [INFO] [stderr] | [INFO] [stderr] 278 | fn curPrecedence(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cur_precedence` [INFO] [stderr] [INFO] [stderr] warning: method `parseInfixExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:286:8 [INFO] [stderr] | [INFO] [stderr] 286 | fn parseInfixExpression(&mut self, left: ast::Expression) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_infix_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseBoolean` should have a snake case name [INFO] [stderr] --> src/parser.rs:299:8 [INFO] [stderr] | [INFO] [stderr] 299 | fn parseBoolean(&self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_boolean` [INFO] [stderr] [INFO] [stderr] warning: method `parseGroupedExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:306:8 [INFO] [stderr] | [INFO] [stderr] 306 | fn parseGroupedExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_grouped_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseIfExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:317:8 [INFO] [stderr] | [INFO] [stderr] 317 | fn parseIfExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_if_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseBlockStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:354:8 [INFO] [stderr] | [INFO] [stderr] 354 | fn parseBlockStatement(&mut self) -> ast::Statement { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_block_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseFunctionLiteral` should have a snake case name [INFO] [stderr] --> src/parser.rs:374:8 [INFO] [stderr] | [INFO] [stderr] 374 | fn parseFunctionLiteral(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_literal` [INFO] [stderr] [INFO] [stderr] warning: method `parseFunctionParameters` should have a snake case name [INFO] [stderr] --> src/parser.rs:397:8 [INFO] [stderr] | [INFO] [stderr] 397 | fn parseFunctionParameters(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_parameters` [INFO] [stderr] [INFO] [stderr] warning: method `parseCallExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:430:8 [INFO] [stderr] | [INFO] [stderr] 430 | fn parseCallExpression(&mut self, function: ast::Expression) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseCallArguments` should have a snake case name [INFO] [stderr] --> src/parser.rs:441:8 [INFO] [stderr] | [INFO] [stderr] 441 | fn parseCallArguments(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_arguments` [INFO] [stderr] [INFO] [stderr] warning: function `Start` should have a snake case name [INFO] [stderr] --> src/repl.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn Start() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `start` [INFO] [stderr] [INFO] [stderr] warning: function `printParserErrors` should have a snake case name [INFO] [stderr] --> src/repl.rs:22:4 [INFO] [stderr] | [INFO] [stderr] 22 | fn printParserErrors(errors: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_parser_errors` [INFO] [stderr] [INFO] [stderr] warning: structure field `Type` should have a snake case name [INFO] [stderr] --> src/token.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | pub Type: TokenType, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 41 | pub r#type: TokenType, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Literal` should have a snake case name [INFO] [stderr] --> src/token.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | pub Literal: String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stderr] [INFO] [stderr] warning: function `LookupIdent` should have a snake case name [INFO] [stderr] --> src/token.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn LookupIdent(ident: &String) -> TokenType { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/object.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | Integer{Value: i64}, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/object.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | Boolean{Value: bool}, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: method `Type` should have a snake case name [INFO] [stderr] --> src/object.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | fn Type(&self) -> ObjectType { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 15 | fn r#type(&self) -> ObjectType { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `Inspect` should have a snake case name [INFO] [stderr] --> src/object.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn Inspect(&self) -> String { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect` [INFO] [stderr] [INFO] [stderr] warning: 138 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0170`. [INFO] [stderr] warning: unused import: `token::Token` [INFO] [stderr] --> src/parser.rs:1:60 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{ast, ast::Program, lexer, lexer::Lexer, token, token::Token}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `repl`, `token` [INFO] [stderr] --> src/repl.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{lexer, repl, token}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Statement` [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: to match on the variant, qualify the path: `Statement::Nil` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nil` [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_Nil` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Value` [INFO] [stderr] --> src/ast.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Value` [INFO] [stderr] --> src/ast.rs:147:42 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Value: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> src/ast.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tok` [INFO] [stderr] --> src/token.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let tok: TokenType; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `position` [INFO] [stderr] --> src/lexer.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | position: i32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `PROMPT` [INFO] [stderr] --> src/repl.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const PROMPT: &str = ">> "; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Object` [INFO] [stderr] --> src/object.rs:8:6 [INFO] [stderr] | [INFO] [stderr] 8 | enum Object { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `Type` [INFO] [stderr] --> src/object.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | fn Type(&self) -> ObjectType { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `Inspect` [INFO] [stderr] --> src/object.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn Inspect(&self) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | Name: Identifier, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | Value: Expression, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `ReturnValue` should have a snake case name [INFO] [stderr] --> src/ast.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | ReturnValue: Expression, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Expression` should have a snake case name [INFO] [stderr] --> src/ast.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | Expression: Expression, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | Statements: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:46 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:28:52 [INFO] [stderr] | [INFO] [stderr] 28 | Statement::LetStatement { Token, Name, Value } => write!( [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:39 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:41:52 [INFO] [stderr] | [INFO] [stderr] 41 | Statement::LetStatement { Token, Name, Value } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:49:42 [INFO] [stderr] | [INFO] [stderr] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `ReturnValue` should have a snake case name [INFO] [stderr] --> src/ast.rs:49:49 [INFO] [stderr] | [INFO] [stderr] 49 | Statement::ReturnStatement { Token, ReturnValue } => { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> src/ast.rs:52:53 [INFO] [stderr] | [INFO] [stderr] 52 | Statement::ExpressionStatement { Token, Expression } => Expression.into_string(), [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:53:48 [INFO] [stderr] | [INFO] [stderr] 53 | Statement::BlockStatement { Token, Statements } => { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Nil` should have a snake case name [INFO] [stderr] --> src/ast.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | Nil => "".to_string(), [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `nil` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | pub Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | pub Value: String, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | Value: i64, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | Operator: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: structure field `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | Right: Box, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Left` should have a snake case name [INFO] [stderr] --> src/ast.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | Left: Box, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stderr] [INFO] [stderr] warning: structure field `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | Operator: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: structure field `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | Right: Box, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | Value: bool, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Condition` should have a snake case name [INFO] [stderr] --> src/ast.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | Condition: Box, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: structure field `Consequence` should have a snake case name [INFO] [stderr] --> src/ast.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | Consequence: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: structure field `Alternative` should have a snake case name [INFO] [stderr] --> src/ast.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | Alternative: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Parameters` should have a snake case name [INFO] [stderr] --> src/ast.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | Parameters: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: structure field `Body` should have a snake case name [INFO] [stderr] --> src/ast.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | Body: Box, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: structure field `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | Token: token::Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: structure field `Function` should have a snake case name [INFO] [stderr] --> src/ast.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | Function: Box, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stderr] [INFO] [stderr] warning: structure field `Arguments` should have a snake case name [INFO] [stderr] --> src/ast.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | Arguments: Vec, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stderr] [INFO] [stderr] warning: variable `Identifier` should have a snake case name [INFO] [stderr] --> src/ast.rs:126:36 [INFO] [stderr] | [INFO] [stderr] 126 | Expression::Identifier(Identifier) => Identifier.Value.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:127:43 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | Expression::IntergerLiteral { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:130:17 [INFO] [stderr] | [INFO] [stderr] 130 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Left` should have a snake case name [INFO] [stderr] --> src/ast.rs:135:17 [INFO] [stderr] | [INFO] [stderr] 135 | Left, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> src/ast.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> src/ast.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:147:35 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> src/ast.rs:147:42 [INFO] [stderr] | [INFO] [stderr] 147 | Expression::Boolean { Token, Value } => Token.Literal.clone(), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Condition` should have a snake case name [INFO] [stderr] --> src/ast.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | Condition, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: variable `Consequence` should have a snake case name [INFO] [stderr] --> src/ast.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | Consequence, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: variable `Alternative` should have a snake case name [INFO] [stderr] --> src/ast.rs:152:17 [INFO] [stderr] | [INFO] [stderr] 152 | Alternative, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:166:17 [INFO] [stderr] | [INFO] [stderr] 166 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Parameters` should have a snake case name [INFO] [stderr] --> src/ast.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | Parameters, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: variable `Body` should have a snake case name [INFO] [stderr] --> src/ast.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | Body, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> src/ast.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Function` should have a snake case name [INFO] [stderr] --> src/ast.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | Function, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stderr] [INFO] [stderr] warning: variable `Arguments` should have a snake case name [INFO] [stderr] --> src/ast.rs:179:17 [INFO] [stderr] | [INFO] [stderr] 179 | Arguments, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stderr] [INFO] [stderr] warning: structure field `Statements` should have a snake case name [INFO] [stderr] --> src/ast.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | pub Statements: Vec, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: structure field `readPosition` should have a snake case name [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | readPosition: i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `read_position` [INFO] [stderr] [INFO] [stderr] warning: function `New` should have a snake case name [INFO] [stderr] --> src/lexer.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn New(input: String) -> Lexer { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stderr] [INFO] [stderr] warning: method `readChar` should have a snake case name [INFO] [stderr] --> src/lexer.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn readChar(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `read_char` [INFO] [stderr] [INFO] [stderr] warning: method `NextToken` should have a snake case name [INFO] [stderr] --> src/lexer.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn NextToken(&mut self) -> Token { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stderr] [INFO] [stderr] warning: method `readIdentifier` should have a snake case name [INFO] [stderr] --> src/lexer.rs:132:8 [INFO] [stderr] | [INFO] [stderr] 132 | fn readIdentifier(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_identifier` [INFO] [stderr] [INFO] [stderr] warning: method `readNumber` should have a snake case name [INFO] [stderr] --> src/lexer.rs:141:8 [INFO] [stderr] | [INFO] [stderr] 141 | fn readNumber(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `read_number` [INFO] [stderr] [INFO] [stderr] warning: method `skipWhitespace` should have a snake case name [INFO] [stderr] --> src/lexer.rs:150:8 [INFO] [stderr] | [INFO] [stderr] 150 | fn skipWhitespace(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace` [INFO] [stderr] [INFO] [stderr] warning: method `peekChar` should have a snake case name [INFO] [stderr] --> src/lexer.rs:161:8 [INFO] [stderr] | [INFO] [stderr] 161 | fn peekChar(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `peek_char` [INFO] [stderr] [INFO] [stderr] warning: function `newToken` should have a snake case name [INFO] [stderr] --> src/lexer.rs:176:8 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `new_token` [INFO] [stderr] [INFO] [stderr] warning: variable `tokenType` should have a snake case name [INFO] [stderr] --> src/lexer.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | pub fn newToken(tokenType: token::TokenType, ch: &Option) -> Token { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `token_type` [INFO] [stderr] [INFO] [stderr] warning: function `isLetter` should have a snake case name [INFO] [stderr] --> src/lexer.rs:183:4 [INFO] [stderr] | [INFO] [stderr] 183 | fn isLetter(s: &Option) -> bool { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `is_letter` [INFO] [stderr] [INFO] [stderr] warning: function `isDigit` should have a snake case name [INFO] [stderr] --> src/lexer.rs:193:4 [INFO] [stderr] | [INFO] [stderr] 193 | fn isDigit(s: &Option) -> bool { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `is_digit` [INFO] [stderr] [INFO] [stderr] warning: static variable `precedences` should have an upper case name [INFO] [stderr] --> src/parser.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | static precedences: phf::Map<&'static str, i32> = phf_map! { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PRECEDENCES` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `curToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | curToken: token::Token, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `cur_token` [INFO] [stderr] [INFO] [stderr] warning: structure field `peekToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | peekToken: token::Token, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_token` [INFO] [stderr] [INFO] [stderr] warning: method `New` should have a snake case name [INFO] [stderr] --> src/parser.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn New(self) -> Parser { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `new` [INFO] [stderr] [INFO] [stderr] warning: method `nextToken` should have a snake case name [INFO] [stderr] --> src/parser.rs:47:8 [INFO] [stderr] | [INFO] [stderr] 47 | fn nextToken(&mut self) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_token` [INFO] [stderr] [INFO] [stderr] warning: method `ParseProgram` should have a snake case name [INFO] [stderr] --> src/parser.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn ParseProgram(&mut self) -> Program { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_program` [INFO] [stderr] [INFO] [stderr] warning: method `parseStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | fn parseStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseLetStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | fn parseLetStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_let_statement` [INFO] [stderr] [INFO] [stderr] warning: method `curTokenIs` should have a snake case name [INFO] [stderr] --> src/parser.rs:102:8 [INFO] [stderr] | [INFO] [stderr] 102 | fn curTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `cur_token_is` [INFO] [stderr] [INFO] [stderr] warning: method `peekTokenIs` should have a snake case name [INFO] [stderr] --> src/parser.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | fn peekTokenIs(&self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `peek_token_is` [INFO] [stderr] [INFO] [stderr] warning: method `expectPeek` should have a snake case name [INFO] [stderr] --> src/parser.rs:110:8 [INFO] [stderr] | [INFO] [stderr] 110 | fn expectPeek(&mut self, t: token::TokenType) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expect_peek` [INFO] [stderr] [INFO] [stderr] warning: method `Errors` should have a snake case name [INFO] [stderr] --> src/parser.rs:120:12 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn Errors(&self) -> &Vec { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `errors` [INFO] [stderr] [INFO] [stderr] warning: method `peekError` should have a snake case name [INFO] [stderr] --> src/parser.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | fn peekError(&mut self, t: token::TokenType) { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `peek_error` [INFO] [stderr] [INFO] [stderr] warning: method `checkParserErrors` should have a snake case name [INFO] [stderr] --> src/parser.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn checkParserErrors(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_parser_errors` [INFO] [stderr] [INFO] [stderr] warning: method `parseReturnStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:144:8 [INFO] [stderr] | [INFO] [stderr] 144 | fn parseReturnStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_return_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseExpressionStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | fn parseExpressionStatement(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:177:8 [INFO] [stderr] | [INFO] [stderr] 177 | fn parseExpression(&mut self, precedence: i32) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseIntergerLiteral` should have a snake case name [INFO] [stderr] --> src/parser.rs:243:8 [INFO] [stderr] | [INFO] [stderr] 243 | fn parseIntergerLiteral(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_interger_literal` [INFO] [stderr] [INFO] [stderr] warning: method `parsePrefixExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:259:8 [INFO] [stderr] | [INFO] [stderr] 259 | fn parsePrefixExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_prefix_expression` [INFO] [stderr] [INFO] [stderr] warning: method `peekPrecedence` should have a snake case name [INFO] [stderr] --> src/parser.rs:270:8 [INFO] [stderr] | [INFO] [stderr] 270 | fn peekPrecedence(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `peek_precedence` [INFO] [stderr] [INFO] [stderr] warning: method `curPrecedence` should have a snake case name [INFO] [stderr] --> src/parser.rs:278:8 [INFO] [stderr] | [INFO] [stderr] 278 | fn curPrecedence(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cur_precedence` [INFO] [stderr] [INFO] [stderr] warning: method `parseInfixExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:286:8 [INFO] [stderr] | [INFO] [stderr] 286 | fn parseInfixExpression(&mut self, left: ast::Expression) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_infix_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseBoolean` should have a snake case name [INFO] [stderr] --> src/parser.rs:299:8 [INFO] [stderr] | [INFO] [stderr] 299 | fn parseBoolean(&self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_boolean` [INFO] [stderr] [INFO] [stderr] warning: method `parseGroupedExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:306:8 [INFO] [stderr] | [INFO] [stderr] 306 | fn parseGroupedExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_grouped_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseIfExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:317:8 [INFO] [stderr] | [INFO] [stderr] 317 | fn parseIfExpression(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_if_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseBlockStatement` should have a snake case name [INFO] [stderr] --> src/parser.rs:354:8 [INFO] [stderr] | [INFO] [stderr] 354 | fn parseBlockStatement(&mut self) -> ast::Statement { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_block_statement` [INFO] [stderr] [INFO] [stderr] warning: method `parseFunctionLiteral` should have a snake case name [INFO] [stderr] --> src/parser.rs:374:8 [INFO] [stderr] | [INFO] [stderr] 374 | fn parseFunctionLiteral(&mut self) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_literal` [INFO] [stderr] [INFO] [stderr] warning: method `parseFunctionParameters` should have a snake case name [INFO] [stderr] --> src/parser.rs:397:8 [INFO] [stderr] | [INFO] [stderr] 397 | fn parseFunctionParameters(&mut self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_function_parameters` [INFO] [stderr] [INFO] [stderr] warning: method `parseCallExpression` should have a snake case name [INFO] [stderr] --> src/parser.rs:430:8 [INFO] [stderr] | [INFO] [stderr] 430 | fn parseCallExpression(&mut self, function: ast::Expression) -> ast::Expression { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_expression` [INFO] [stderr] [INFO] [stderr] warning: method `parseCallArguments` should have a snake case name [INFO] [stderr] --> src/parser.rs:441:8 [INFO] [stderr] | [INFO] [stderr] 441 | fn parseCallArguments(&mut self) -> Option> { [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_call_arguments` [INFO] [stdout] running 0 tests [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: function `Start` should have a snake case name [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] --> src/repl.rs:6:8 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 6 | pub fn Start() { [INFO] [stdout] running 0 tests [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `start` [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] warning: function `printParserErrors` should have a snake case name [INFO] [stdout] [INFO] [stderr] --> src/repl.rs:22:4 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 1 test [INFO] [stderr] 22 | fn printParserErrors(errors: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_parser_errors` [INFO] [stderr] [INFO] [stderr] warning: structure field `Type` should have a snake case name [INFO] [stderr] --> src/token.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | pub Type: TokenType, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 41 | pub r#type: TokenType, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Literal` should have a snake case name [INFO] [stderr] --> src/token.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | pub Literal: String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `literal` [INFO] [stderr] [INFO] [stderr] warning: function `LookupIdent` should have a snake case name [INFO] [stderr] --> src/token.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn LookupIdent(ident: &String) -> TokenType { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/object.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | Integer{Value: i64}, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: structure field `Value` should have a snake case name [INFO] [stderr] --> src/object.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | Boolean{Value: bool}, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: method `Type` should have a snake case name [INFO] [stderr] --> src/object.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | fn Type(&self) -> ObjectType { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stderr] | [INFO] [stderr] 15 | fn r#type(&self) -> ObjectType { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `Inspect` should have a snake case name [INFO] [stderr] --> src/object.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | fn Inspect(&self) -> String { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect` [INFO] [stderr] [INFO] [stderr] warning: 138 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0170`. [INFO] [stderr] warning: function `TestNextToken` should have a snake case name [INFO] [stderr] --> tests/lexer_test.rs:6:4 [INFO] [stderr] | [INFO] [stderr] 6 | fn TestNextToken() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_next_token` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedType` should have a snake case name [INFO] [stderr] --> tests/lexer_test.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | expectedType: token::TokenType, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_type` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedLiteral` should have a snake case name [INFO] [stderr] --> tests/lexer_test.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | expectedLiteral: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_literal` [INFO] [stderr] [INFO] [stderr] warning: 3 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser` [INFO] [stderr] --> tests/parser_test.rs:2:38 [INFO] [stderr] | [INFO] [stderr] 2 | use monkey_interpreter::{ast, lexer, parser, token, token::Token}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `tests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | struct tests_struct { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `tests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | struct tests_struct { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stderr] [INFO] [stderr] warning: type `prefixTests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:248:12 [INFO] [stderr] | [INFO] [stderr] 248 | struct prefixTests_struct { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrefixTestsStruct` [INFO] [stderr] [INFO] [stderr] warning: type `infixTests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:384:12 [INFO] [stderr] | [INFO] [stderr] 384 | struct infixTests_struct { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InfixTestsStruct` [INFO] [stderr] [INFO] [stderr] warning: type `tests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:778:12 [INFO] [stderr] | [INFO] [stderr] 778 | struct tests_struct { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stderr] [INFO] [stderr] warning: type `tests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:963:12 [INFO] [stderr] | [INFO] [stderr] 963 | struct tests_struct { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stderr] [INFO] [stderr] warning: type `tests_struct` should have an upper camel case name [INFO] [stderr] --> tests/parser_test.rs:1329:12 [INFO] [stderr] | [INFO] [stderr] 1329 | struct tests_struct { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:918:44 [INFO] [stderr] | [INFO] [stderr] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:920:36 [INFO] [stderr] | [INFO] [stderr] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:935:9 [INFO] [stderr] | [INFO] [stderr] 935 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:69:47 [INFO] [stderr] | [INFO] [stderr] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Name` [INFO] [stderr] --> tests/parser_test.rs:69:54 [INFO] [stderr] | [INFO] [stderr] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stderr] | ^^^^ help: try ignoring the field: `Name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:196:50 [INFO] [stderr] | [INFO] [stderr] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:228:50 [INFO] [stderr] | [INFO] [stderr] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:337:54 [INFO] [stderr] | [INFO] [stderr] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:750:54 [INFO] [stderr] | [INFO] [stderr] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:752:17 [INFO] [stderr] | [INFO] [stderr] 752 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:995:54 [INFO] [stderr] | [INFO] [stderr] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:996:47 [INFO] [stderr] | [INFO] [stderr] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1043:50 [INFO] [stderr] | [INFO] [stderr] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1045:13 [INFO] [stderr] | [INFO] [stderr] 1045 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1072:53 [INFO] [stderr] | [INFO] [stderr] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1080:62 [INFO] [stderr] | [INFO] [stderr] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1130:50 [INFO] [stderr] | [INFO] [stderr] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1132:13 [INFO] [stderr] | [INFO] [stderr] 1132 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1159:53 [INFO] [stderr] | [INFO] [stderr] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1167:62 [INFO] [stderr] | [INFO] [stderr] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1182:53 [INFO] [stderr] | [INFO] [stderr] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1190:62 [INFO] [stderr] | [INFO] [stderr] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1234:50 [INFO] [stderr] | [INFO] [stderr] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1236:13 [INFO] [stderr] | [INFO] [stderr] 1236 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1274:53 [INFO] [stderr] | [INFO] [stderr] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1282:62 [INFO] [stderr] | [INFO] [stderr] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1356:54 [INFO] [stderr] | [INFO] [stderr] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1358:17 [INFO] [stderr] | [INFO] [stderr] 1358 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Body` [INFO] [stderr] --> tests/parser_test.rs:1360:17 [INFO] [stderr] | [INFO] [stderr] 1360 | Body, [INFO] [stderr] | ^^^^ help: try ignoring the field: `Body: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1416:50 [INFO] [stderr] | [INFO] [stderr] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Token` [INFO] [stderr] --> tests/parser_test.rs:1418:13 [INFO] [stderr] | [INFO] [stderr] 1418 | Token, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `Token: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/parser_test.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | let mut program = p.ParseProgram(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ExpectedIdentifiers` [INFO] [stderr] --> tests/parser_test.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | struct ExpectedIdentifiers { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `leftValue` [INFO] [stderr] --> tests/parser_test.rs:386:9 [INFO] [stderr] | [INFO] [stderr] 386 | leftValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `operator` [INFO] [stderr] --> tests/parser_test.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | operator: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `rightValue` [INFO] [stderr] --> tests/parser_test.rs:388:9 [INFO] [stderr] | [INFO] [stderr] 388 | rightValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedIdentifier` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | expectedIdentifier: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_identifier` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `TestLetStatements` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:9:4 [INFO] [stderr] | [INFO] [stderr] 9 | fn TestLetStatements() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statements` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedIdentifier` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | expectedIdentifier: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_identifier` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedValue` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | expectedValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:69:47 [INFO] [stderr] | [INFO] [stderr] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:69:54 [INFO] [stderr] | [INFO] [stderr] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:69:60 [INFO] [stderr] | [INFO] [stderr] 69 | if let ast::Statement::LetStatement { Token, Name, Value } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `testLetStatement` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn testLetStatement(s: &ast::Statement, name: &String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statement` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:82:43 [INFO] [stderr] | [INFO] [stderr] 82 | if let ast::Statement::LetStatement { Token, Name, .. } = s { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:82:50 [INFO] [stderr] | [INFO] [stderr] 82 | if let ast::Statement::LetStatement { Token, Name, .. } = s { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] [INFO] [stderr] warning: function `TestReturnStatement` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:110:4 [INFO] [stderr] | [INFO] [stderr] 110 | fn TestReturnStatement() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_return_statement` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedValue` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | expectedValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:165:50 [INFO] [stderr] | [INFO] [stderr] 165 | if let ast::Statement::ReturnStatement { Token, ReturnValue } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `ReturnValue` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:165:57 [INFO] [stderr] | [INFO] [stderr] 165 | if let ast::Statement::ReturnStatement { Token, ReturnValue } = stmt { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `return_value` [INFO] [stderr] [INFO] [stderr] warning: function `TestIdentifierExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:180:4 [INFO] [stderr] | [INFO] [stderr] 180 | fn TestIdentifierExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_identifier_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:196:50 [INFO] [stderr] | [INFO] [stderr] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:196:57 [INFO] [stderr] | [INFO] [stderr] 196 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: function `TestIntegerLiteralExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:212:4 [INFO] [stderr] | [INFO] [stderr] 212 | fn TestIntegerLiteralExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_literal_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:228:50 [INFO] [stderr] | [INFO] [stderr] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:228:57 [INFO] [stderr] | [INFO] [stderr] 228 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:229:51 [INFO] [stderr] | [INFO] [stderr] 229 | if let ast::Expression::IntergerLiteral { Token, Value } = Expression { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:229:58 [INFO] [stderr] | [INFO] [stderr] 229 | if let ast::Expression::IntergerLiteral { Token, Value } = Expression { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `TestParsingPrefixExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:247:4 [INFO] [stderr] | [INFO] [stderr] 247 | fn TestParsingPrefixExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parsing_prefix_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `prefixTests` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | let prefixTests = vec![ [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `prefix_tests` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:337:54 [INFO] [stderr] | [INFO] [stderr] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:337:61 [INFO] [stderr] | [INFO] [stderr] 337 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:341:17 [INFO] [stderr] | [INFO] [stderr] 341 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: function `testIntegerLiteral` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:365:4 [INFO] [stderr] | [INFO] [stderr] 365 | fn testIntegerLiteral(il: &ast::Expression, value: i64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_literal` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:366:47 [INFO] [stderr] | [INFO] [stderr] 366 | if let ast::Expression::IntergerLiteral { Token, Value } = il { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:366:54 [INFO] [stderr] | [INFO] [stderr] 366 | if let ast::Expression::IntergerLiteral { Token, Value } = il { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `TestParsingInfixExpressions` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:383:4 [INFO] [stderr] | [INFO] [stderr] 383 | fn TestParsingInfixExpressions() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parsing_infix_expressions` [INFO] [stderr] [INFO] [stderr] warning: structure field `leftValue` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:386:9 [INFO] [stderr] | [INFO] [stderr] 386 | leftValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `left_value` [INFO] [stderr] [INFO] [stderr] warning: structure field `rightValue` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:388:9 [INFO] [stderr] | [INFO] [stderr] 388 | rightValue: ast::Expression, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `right_value` [INFO] [stderr] [INFO] [stderr] warning: variable `infixTests` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:390:9 [INFO] [stderr] | [INFO] [stderr] 390 | let infixTests = vec![ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `infix_tests` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:750:54 [INFO] [stderr] | [INFO] [stderr] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:750:61 [INFO] [stderr] | [INFO] [stderr] 750 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:752:17 [INFO] [stderr] | [INFO] [stderr] 752 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stdout] test TestNextToken ... ok [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: variable `Left` should have a snake case name [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stderr] --> tests/parser_test.rs:753:17 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 753 | Left, [INFO] [stdout] running 13 tests [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] test TestCallExpressionParsing ... ok [INFO] [stderr] [INFO] [stdout] test TestIfElseExpression ... ok [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stdout] test TestFunctionParameterParsing ... ok [INFO] [stderr] --> tests/parser_test.rs:754:17 [INFO] [stderr] | [INFO] [stderr] 754 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:755:17 [INFO] [stderr] | [INFO] [stderr] 755 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: function `TestOperatorPrecedenceParsing` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:777:4 [INFO] [stderr] | [INFO] [stderr] 777 | fn TestOperatorPrecedenceParsing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_operator_precedence_parsing` [INFO] [stderr] [INFO] [stderr] warning: function `testIdentifier` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:897:4 [INFO] [stderr] | [INFO] [stderr] 897 | fn testIdentifier(exp: &ast::Expression, value: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_identifier` [INFO] [stderr] [INFO] [stderr] warning: function `testLiteralExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:916:4 [INFO] [stderr] | [INFO] [stderr] 916 | fn testLiteralExpression(exp: &ast::Expression, expected: &ast::Expression) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_literal_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:918:44 [INFO] [stderr] | [INFO] [stderr] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:918:51 [INFO] [stderr] | [INFO] [stderr] 918 | ast::Expression::IntergerLiteral { Token, Value } => testIntegerLiteral(&exp, *Value), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:920:36 [INFO] [stderr] | [INFO] [stderr] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:920:43 [INFO] [stderr] | [INFO] [stderr] 920 | ast::Expression::Boolean { Token, Value } => testBooleanLiteral(exp, *Value), [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `testInfixExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:928:4 [INFO] [stderr] | [INFO] [stderr] 928 | fn testInfixExpression( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_infix_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:935:9 [INFO] [stderr] | [INFO] [stderr] 935 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Left` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:936:9 [INFO] [stderr] | [INFO] [stderr] 936 | Left, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stderr] [INFO] [stderr] warning: variable `Operator` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:937:9 [INFO] [stderr] | [INFO] [stderr] 937 | Operator, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `operator` [INFO] [stderr] [INFO] [stderr] warning: variable `Right` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:938:9 [INFO] [stderr] | [INFO] [stderr] 938 | Right, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stderr] [INFO] [stderr] warning: function `TestBooleanExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:962:4 [INFO] [stderr] | [INFO] [stderr] 962 | fn TestBooleanExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_expression` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedBoolean` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:965:9 [INFO] [stderr] | [INFO] [stderr] 965 | expectedBoolean: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_boolean` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:995:54 [INFO] [stderr] | [INFO] [stderr] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:995:61 [INFO] [stderr] | [INFO] [stderr] 995 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:996:47 [INFO] [stderr] | [INFO] [stderr] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:996:54 [INFO] [stderr] | [INFO] [stderr] 996 | if let ast::Expression::Boolean { Token, Value } = Expression { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `testBooleanLiteral` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1007:4 [INFO] [stderr] | [INFO] [stderr] 1007 | fn testBooleanLiteral(exp: &ast::Expression, value: bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_literal` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1008:39 [INFO] [stderr] | [INFO] [stderr] 1008 | if let ast::Expression::Boolean { Token, Value } = exp { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Value` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1008:46 [INFO] [stderr] | [INFO] [stderr] 1008 | if let ast::Expression::Boolean { Token, Value } = exp { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stderr] [INFO] [stderr] warning: function `TestIfExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1026:4 [INFO] [stderr] | [INFO] [stderr] 1026 | fn TestIfExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1043:50 [INFO] [stderr] | [INFO] [stderr] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1043:57 [INFO] [stderr] | [INFO] [stderr] 1043 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1045:13 [INFO] [stderr] | [INFO] [stderr] 1045 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Condition` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1046:13 [INFO] [stderr] | [INFO] [stderr] 1046 | Condition, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: variable `Consequence` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1047:13 [INFO] [stderr] | [INFO] [stderr] 1047 | Consequence, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: variable `Alternative` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1048:13 [INFO] [stderr] | [INFO] [stderr] 1048 | Alternative, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1072:53 [INFO] [stderr] | [INFO] [stderr] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1072:60 [INFO] [stderr] | [INFO] [stderr] 1072 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1080:62 [INFO] [stderr] | [INFO] [stderr] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1080:69 [INFO] [stderr] | [INFO] [stderr] 1080 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: function `TestIfElseExpression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1113:4 [INFO] [stderr] | [INFO] [stderr] 1113 | fn TestIfElseExpression() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_else_expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1130:50 [INFO] [stderr] | [INFO] [stderr] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1130:57 [INFO] [stderr] | [INFO] [stderr] 1130 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1132:13 [INFO] [stderr] | [INFO] [stderr] 1132 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Condition` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1133:13 [INFO] [stderr] | [INFO] [stderr] 1133 | Condition, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition` [INFO] [stderr] [INFO] [stderr] warning: variable `Consequence` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1134:13 [INFO] [stderr] | [INFO] [stderr] 1134 | Consequence, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `consequence` [INFO] [stderr] [INFO] [stderr] warning: variable `Alternative` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1135:13 [INFO] [stderr] | [INFO] [stderr] 1135 | Alternative, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `alternative` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1159:53 [INFO] [stderr] | [INFO] [stderr] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1159:60 [INFO] [stderr] | [INFO] [stderr] 1159 | if let ast::Statement::BlockStatement { Token, Statements } = Consequence.as_ref() { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1167:62 [INFO] [stderr] | [INFO] [stderr] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1167:69 [INFO] [stderr] | [INFO] [stderr] 1167 | if let ast::Statement::ExpressionStatement { Token, Expression } = consequence { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1182:53 [INFO] [stderr] | [INFO] [stderr] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1182:60 [INFO] [stderr] | [INFO] [stderr] 1182 | if let ast::Statement::BlockStatement { Token, Statements } = Alternative.as_ref() { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1190:62 [INFO] [stderr] | [INFO] [stderr] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1190:69 [INFO] [stderr] | [INFO] [stderr] 1190 | if let ast::Statement::ExpressionStatement { Token, Expression } = alternative { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: function `TestFunctionLiteralParsing` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1219:4 [INFO] [stderr] | [INFO] [stderr] 1219 | fn TestFunctionLiteralParsing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_literal_parsing` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1234:50 [INFO] [stderr] | [INFO] [stderr] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1234:57 [INFO] [stderr] | [INFO] [stderr] 1234 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1236:13 [INFO] [stderr] | [INFO] [stderr] 1236 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Parameters` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1237:13 [INFO] [stderr] | [INFO] [stderr] 1237 | Parameters, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: variable `Body` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1238:13 [INFO] [stderr] | [INFO] [stderr] 1238 | Body, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1274:53 [INFO] [stderr] | [INFO] [stderr] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Statements` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1274:60 [INFO] [stderr] | [INFO] [stderr] 1274 | if let ast::Statement::BlockStatement { Token, Statements } = Body.as_ref() { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1282:62 [INFO] [stderr] | [INFO] [stderr] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1282:69 [INFO] [stderr] | [INFO] [stderr] 1282 | if let ast::Statement::ExpressionStatement { Token, Expression } = bodystmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: function `TestFunctionParameterParsing` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1328:4 [INFO] [stderr] | [INFO] [stderr] 1328 | fn TestFunctionParameterParsing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_parameter_parsing` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedParams` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1331:9 [INFO] [stderr] | [INFO] [stderr] 1331 | expectedParams: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_params` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1356:54 [INFO] [stderr] | [INFO] [stderr] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1356:61 [INFO] [stderr] | [INFO] [stderr] 1356 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1358:17 [INFO] [stderr] | [INFO] [stderr] 1358 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Parameters` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1359:17 [INFO] [stderr] | [INFO] [stderr] 1359 | Parameters, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parameters` [INFO] [stderr] [INFO] [stderr] warning: variable `Body` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1360:17 [INFO] [stderr] | [INFO] [stderr] 1360 | Body, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stderr] [INFO] [stderr] warning: function `TestCallExpressionParsing` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1401:4 [INFO] [stderr] | [INFO] [stderr] 1401 | fn TestCallExpressionParsing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_call_expression_parsing` [INFO] [stderr] [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1416:50 [INFO] [stderr] | [INFO] [stderr] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Expression` should have a snake case name [INFO] [stdout] test TestLetStatements ... ok [INFO] [stderr] --> tests/parser_test.rs:1416:57 [INFO] [stdout] test TestBooleanExpression ... ok [INFO] [stderr] | [INFO] [stdout] test TestFunctionLiteralParsing ... ok [INFO] [stderr] 1416 | if let ast::Statement::ExpressionStatement { Token, Expression } = stmt { [INFO] [stdout] test TestReturnStatement ... ok [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `expression` [INFO] [stdout] test TestIdentifierExpression ... ok [INFO] [stderr] [INFO] [stdout] test TestParsingPrefixExpression ... ok [INFO] [stderr] warning: variable `Token` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1418:13 [INFO] [stderr] | [INFO] [stderr] 1418 | Token, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `token` [INFO] [stderr] [INFO] [stderr] warning: variable `Function` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1419:13 [INFO] [stderr] | [INFO] [stderr] 1419 | Function, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `function` [INFO] [stderr] [INFO] [stderr] warning: variable `Arguments` should have a snake case name [INFO] [stderr] --> tests/parser_test.rs:1420:13 [INFO] [stderr] | [INFO] [stderr] 1420 | Arguments, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `arguments` [INFO] [stderr] [INFO] [stderr] warning: 157 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/monkey_interpreter-7bfc3d6707f2425d) [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/monkey_interpreter-e23f87a77d7f297c) [INFO] [stderr] Running tests/lexer_test.rs (/opt/rustwide/target/debug/deps/lexer_test-2fe7766c19233123) [INFO] [stderr] Running tests/parser_test.rs (/opt/rustwide/target/debug/deps/parser_test-ef141d4005581d50) [INFO] [stdout] test TestIfExpression ... ok [INFO] [stdout] test TestIntegerLiteralExpression ... ok [INFO] [stdout] test TestParsingInfixExpressions ... ok [INFO] [stderr] Doc-tests monkey_interpreter [INFO] [stdout] test TestOperatorPrecedenceParsing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a060e0d3c5e7860ce0908c56e78ddadec6812d9dcc1a255cf062fdd7b7ac9756", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a060e0d3c5e7860ce0908c56e78ddadec6812d9dcc1a255cf062fdd7b7ac9756", kill_on_drop: false }` [INFO] [stdout] a060e0d3c5e7860ce0908c56e78ddadec6812d9dcc1a255cf062fdd7b7ac9756