[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] 36e7ddaba3a91fbb160a4b3e5b0f05fcf6855621
[INFO] testing gedatsu217/monkey_interpreter against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgedatsu217%2Fmonkey_interpreter" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gedatsu217/monkey_interpreter on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gedatsu217/monkey_interpreter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e
[INFO] running `Command { std: "docker" "start" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]    Compiling siphasher v0.3.5
[INFO] [stderr]    Compiling phf_shared v0.9.0
[INFO] [stderr]    Compiling quote v1.0.9
[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)]` (part of `#[warn(unused)]`) 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` and `token`
[INFO] [stdout]  --> src/repl.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{evaluator, lexer, object, 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 `ast::Statement`
[INFO] [stdout]   --> src/ast.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^ help: to match on the variant, qualify the path: `ast::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:53:46
[INFO] [stdout]    |
[INFO] [stdout] 53 |             Statement::ExpressionStatement { Token, Expression } => Expression.into_string(),
[INFO] [stdout]    |                                              ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/ast.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |             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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Nil`
[INFO] [stdout]    |
[INFO] [stdout] 61 |             ast::Statement::Nil => "".to_string(),
[INFO] [stdout]    |             ++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |             _Nil => "".to_string(),
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:130:50
[INFO] [stdout]     |
[INFO] [stdout] 130 |             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:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |             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:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Message`
[INFO] [stdout]   --> src/evaluator.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 |         } else if let object::Object::Error { Message } = &result {
[INFO] [stdout]    |                                               ^^^^^^^ help: try ignoring the field: `Message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 |         ast::Statement::ExpressionStatement { Token, Expression } => {
[INFO] [stdout]    |                                               ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                          ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Statements`
[INFO] [stdout]   --> src/evaluator.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                                 ^^^^^^^^^^ help: try ignoring the field: `Statements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ast::Statement::ReturnStatement { Token, ReturnValue } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |         ast::Statement::LetStatement { Token, Name, Value } => {
[INFO] [stdout]    |                                        ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluator.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let mut args = evalExpressions(Arguments, env);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:53:44
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ast::Expression::IntergerLiteral { Token, Value } => {
[INFO] [stdout]    |                                            ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |         ast::Expression::Boolean { Token, Value } => {
[INFO] [stdout]    |                                    ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Condition`
[INFO] [stdout]   --> src/evaluator.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Condition,
[INFO] [stdout]    |             ^^^^^^^^^ help: try ignoring the field: `Condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Consequence`
[INFO] [stdout]   --> src/evaluator.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Consequence,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Alternative`
[INFO] [stdout]   --> src/evaluator.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Alternative,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Alternative: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         Token,
[INFO] [stdout]     |         ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:275:45
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if let ast::Statement::BlockStatement { Token, Statements } = block {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]    --> src/evaluator.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Parameters,
[INFO] [stdout]     |         ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]    --> src/evaluator.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Env,
[INFO] [stdout]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]    --> src/evaluator.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         Body,
[INFO] [stdout]     |         ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]   --> src/object.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Parameters,
[INFO] [stdout]    |                 ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]   --> src/object.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Body,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> src/token.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let tok: TokenType;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT` is never used
[INFO] [stdout]  --> src/repl.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PROMPT: &str = ">> ";
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Token` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         Token: token::Token,
[INFO] [stdout]   |         ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Name` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         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:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         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:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         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:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         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:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         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:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         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:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Statements: Vec<Statement>,
[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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             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:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     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:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     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:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         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:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         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:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         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:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         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:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         Right: Box<Expression>,
[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:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         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:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Left: Box<Expression>,
[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:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         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:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Right: Box<Expression>,
[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:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         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:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         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:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         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:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Condition: Box<Expression>,
[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:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         Consequence: Box<Statement>,
[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:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         Alternative: Box<Statement>,
[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:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         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:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         Parameters: Vec<Expression>,
[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:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         Body: Box<Statement>,
[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:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         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:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Function: Box<Expression>,
[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:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Arguments: Vec<Expression>,
[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:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |             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: structure field `Statements` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub Statements: Vec<Statement>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Eval` should have a snake case name
[INFO] [stdout]  --> src/evaluator.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn Eval(node: ast::Program, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]   |        ^^^^ help: convert the identifier to snake case: `eval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatements` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn evalStatements(stmts: &Vec<ast::Statement>, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatement` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn evalStatement(stmt: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpression` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn evalExpression(exp: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalPrefixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn evalPrefixExpression(operator: &String, right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_prefix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBangOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn evalBangOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_bang_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalMinusPrefixOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn evalMinusPrefixOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_minus_prefix_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn evalInfixExpression(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIntegerInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn evalIntegerInfixExpression(operator: &String, left: i64, right: i64) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_integer_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIfExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn evalIfExpression(ie: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_if_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isTruthy` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:265:4
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn isTruthy(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `is_truthy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBlockStatement` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn evalBlockStatement(block: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_block_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn newError(format: String) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `new_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn isError(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIdentifier` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:301:4
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn evalIdentifier(node: &ast::Identifier, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpressions` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn evalExpressions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expressions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `applyFunction` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn applyFunction(f: object::Object, args: Vec<object::Object>) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `extendedEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let mut extendedEnv = extendFunctionEnv(f.clone(), args);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `extended_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extendFunctionEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn extendFunctionEnv(f: object::Object, args: Vec<object::Object>) -> object::Environment {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `extend_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrapReturnValue` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:361:4
[INFO] [stdout]     |
[INFO] [stdout] 361 | fn unwrapReturnValue(obj: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unwrap_return_value`
[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<String> {
[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<String>) -> 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<String>) -> 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<String>) -> 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<String>) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_digit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Value` should have a snake case name
[INFO] [stdout]   --> src/object.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Value: bool,
[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:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Value: Box<Object>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Message` should have a snake case name
[INFO] [stdout]   --> src/object.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Message: String,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Parameters` should have a snake case name
[INFO] [stdout]   --> src/object.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Parameters: Vec<ast::Expression>,
[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/object.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Body: Box<ast::Statement>,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Env` should have a snake case name
[INFO] [stdout]   --> src/object.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         Env: Environment,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Type` should have a snake case name
[INFO] [stdout]   --> src/object.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub 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] 37 -     pub fn Type(&self) -> ObjectType {
[INFO] [stdout] 37 +     pub 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:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn Inspect(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn NewEnvironment() -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnclosedEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn NewEnclosedEnvironment(outer: Environment) -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_enclosed_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Get` should have a snake case name
[INFO] [stdout]    --> src/object.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn Get(&self, name: &String) -> Option<&Object> {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case: `get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Set` should have a snake case name
[INFO] [stdout]    --> src/object.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn Set(&mut self, name: &String, val: Object) -> Object {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case (notice the capitalization): `set`
[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]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - static precedences: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout] 13 + static PRECEDENCES: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout]    |
[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<ast::Statement> {
[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<ast::Statement> {
[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<String> {
[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<ast::Statement> {
[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<ast::Statement> {
[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<Vec<ast::Expression>> {
[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<Vec<ast::Expression>> {
[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:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn printParserErrors(errors: &Vec<String>) {
[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 Type: TokenType,
[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:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn LookupIdent(ident: &String) -> TokenType {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.89s
[INFO] running `Command { std: "docker" "inspect" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", 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)]` (part of `#[warn(unused)]`) 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` and `token`
[INFO] [stdout]  --> src/repl.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{evaluator, lexer, object, 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 `ast::Statement`
[INFO] [stdout]   --> src/ast.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^ help: to match on the variant, qualify the path: `ast::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:53:46
[INFO] [stdout]    |
[INFO] [stdout] 53 |             Statement::ExpressionStatement { Token, Expression } => Expression.into_string(),
[INFO] [stdout]    |                                              ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/ast.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |             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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Nil`
[INFO] [stdout]    |
[INFO] [stdout] 61 |             ast::Statement::Nil => "".to_string(),
[INFO] [stdout]    |             ++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |             _Nil => "".to_string(),
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:130:50
[INFO] [stdout]     |
[INFO] [stdout] 130 |             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:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |             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:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Message`
[INFO] [stdout]   --> src/evaluator.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 |         } else if let object::Object::Error { Message } = &result {
[INFO] [stdout]    |                                               ^^^^^^^ help: try ignoring the field: `Message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 |         ast::Statement::ExpressionStatement { Token, Expression } => {
[INFO] [stdout]    |                                               ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                          ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Statements`
[INFO] [stdout]   --> src/evaluator.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                                 ^^^^^^^^^^ help: try ignoring the field: `Statements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ast::Statement::ReturnStatement { Token, ReturnValue } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |         ast::Statement::LetStatement { Token, Name, Value } => {
[INFO] [stdout]    |                                        ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluator.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let mut args = evalExpressions(Arguments, env);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:53:44
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ast::Expression::IntergerLiteral { Token, Value } => {
[INFO] [stdout]    |                                            ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |         ast::Expression::Boolean { Token, Value } => {
[INFO] [stdout]    |                                    ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Condition`
[INFO] [stdout]   --> src/evaluator.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Condition,
[INFO] [stdout]    |             ^^^^^^^^^ help: try ignoring the field: `Condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Consequence`
[INFO] [stdout]   --> src/evaluator.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Consequence,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Alternative`
[INFO] [stdout]   --> src/evaluator.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Alternative,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Alternative: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         Token,
[INFO] [stdout]     |         ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:275:45
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if let ast::Statement::BlockStatement { Token, Statements } = block {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]    --> src/evaluator.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Parameters,
[INFO] [stdout]     |         ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]    --> src/evaluator.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Env,
[INFO] [stdout]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]    --> src/evaluator.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         Body,
[INFO] [stdout]     |         ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]   --> src/object.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Parameters,
[INFO] [stdout]    |                 ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]   --> src/object.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Body,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> src/token.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let tok: TokenType;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT` is never used
[INFO] [stdout]  --> src/repl.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PROMPT: &str = ">> ";
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Token` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         Token: token::Token,
[INFO] [stdout]   |         ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Name` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         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:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         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:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         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:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         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:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         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:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         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:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Statements: Vec<Statement>,
[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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             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:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     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:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     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:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         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:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         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:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         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:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         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:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         Right: Box<Expression>,
[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:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         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:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Left: Box<Expression>,
[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:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         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:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Right: Box<Expression>,
[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:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         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:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         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:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         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:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Condition: Box<Expression>,
[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:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         Consequence: Box<Statement>,
[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:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         Alternative: Box<Statement>,
[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:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         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:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         Parameters: Vec<Expression>,
[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:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         Body: Box<Statement>,
[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:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         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:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Function: Box<Expression>,
[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:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Arguments: Vec<Expression>,
[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:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |             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: structure field `Statements` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub Statements: Vec<Statement>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Eval` should have a snake case name
[INFO] [stdout]  --> src/evaluator.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn Eval(node: ast::Program, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]   |        ^^^^ help: convert the identifier to snake case: `eval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatements` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn evalStatements(stmts: &Vec<ast::Statement>, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatement` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn evalStatement(stmt: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpression` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn evalExpression(exp: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalPrefixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn evalPrefixExpression(operator: &String, right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_prefix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBangOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn evalBangOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_bang_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalMinusPrefixOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn evalMinusPrefixOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_minus_prefix_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn evalInfixExpression(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIntegerInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn evalIntegerInfixExpression(operator: &String, left: i64, right: i64) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_integer_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIfExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn evalIfExpression(ie: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_if_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isTruthy` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:265:4
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn isTruthy(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `is_truthy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBlockStatement` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn evalBlockStatement(block: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_block_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn newError(format: String) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `new_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn isError(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIdentifier` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:301:4
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn evalIdentifier(node: &ast::Identifier, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpressions` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn evalExpressions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expressions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `applyFunction` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn applyFunction(f: object::Object, args: Vec<object::Object>) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `extendedEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let mut extendedEnv = extendFunctionEnv(f.clone(), args);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `extended_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extendFunctionEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn extendFunctionEnv(f: object::Object, args: Vec<object::Object>) -> object::Environment {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `extend_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrapReturnValue` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:361:4
[INFO] [stdout]     |
[INFO] [stdout] 361 | fn unwrapReturnValue(obj: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unwrap_return_value`
[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<String> {
[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<String>) -> 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<String>) -> 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<String>) -> 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<String>) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_digit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Value` should have a snake case name
[INFO] [stdout]   --> src/object.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Value: bool,
[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:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Value: Box<Object>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Message` should have a snake case name
[INFO] [stdout]   --> src/object.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Message: String,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Parameters` should have a snake case name
[INFO] [stdout]   --> src/object.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Parameters: Vec<ast::Expression>,
[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/object.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Body: Box<ast::Statement>,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Env` should have a snake case name
[INFO] [stdout]   --> src/object.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         Env: Environment,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Type` should have a snake case name
[INFO] [stdout]   --> src/object.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub 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] 37 -     pub fn Type(&self) -> ObjectType {
[INFO] [stdout] 37 +     pub 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:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn Inspect(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn NewEnvironment() -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnclosedEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn NewEnclosedEnvironment(outer: Environment) -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_enclosed_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Get` should have a snake case name
[INFO] [stdout]    --> src/object.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn Get(&self, name: &String) -> Option<&Object> {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case: `get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Set` should have a snake case name
[INFO] [stdout]    --> src/object.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn Set(&mut self, name: &String, val: Object) -> Object {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case (notice the capitalization): `set`
[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]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - static precedences: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout] 13 + static PRECEDENCES: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout]    |
[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] [stderr]    Compiling monkey_interpreter v0.1.0 (/opt/rustwide/workdir)
[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<ast::Statement> {
[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<ast::Statement> {
[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<String> {
[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<ast::Statement> {
[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<ast::Statement> {
[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<Vec<ast::Expression>> {
[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<Vec<ast::Expression>> {
[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:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn printParserErrors(errors: &Vec<String>) {
[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 Type: TokenType,
[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:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn LookupIdent(ident: &String) -> TokenType {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ast` and `parser`
[INFO] [stdout]  --> tests/evaluator_test.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use monkey_interpreter::{ast, evaluator, lexer, object, parser};
[INFO] [stdout]   |                          ^^^                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tests_struct` should have an upper camel case name
[INFO] [stdout]  --> tests/evaluator_test.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     struct tests_struct {
[INFO] [stdout]   |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tests_struct` should have an upper camel case name
[INFO] [stdout]    --> tests/evaluator_test.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     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/evaluator_test.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |     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/evaluator_test.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 |     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/evaluator_test.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 305 |     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/evaluator_test.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 349 |     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/evaluator_test.rs:411:12
[INFO] [stdout]     |
[INFO] [stdout] 411 |     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/evaluator_test.rs:477:12
[INFO] [stdout]     |
[INFO] [stdout] 477 |     struct tests_struct {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct`
[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` and `token`
[INFO] [stdout]  --> src/repl.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{evaluator, lexer, object, 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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: 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)]` (part of `#[warn(nonstandard_style)]`) 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: 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]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[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: 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)]` (part of `#[warn(unused)]`) on by default
[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: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] 
[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: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: struct `ExpectedIdentifiers` is never constructed
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `leftValue`, `operator`, and `rightValue` are never read
[INFO] [stdout]    --> tests/parser_test.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |     struct infixTests_struct {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 385 |         input: String,
[INFO] [stdout] 386 |         leftValue: ast::Expression,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 387 |         operator: String,
[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)]` (part of `#[warn(nonstandard_style)]`) 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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<String>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_params`
[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: unused variable: `Env`
[INFO] [stdout]    --> tests/evaluator_test.rs:447:9
[INFO] [stdout]     |
[INFO] [stdout] 447 |         Env,
[INFO] [stdout]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestEvalIntegerExpression` should have a snake case name
[INFO] [stdout]  --> tests/evaluator_test.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn TestEvalIntegerExpression() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_eval_integer_expression`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testEval` should have a snake case name
[INFO] [stdout]   --> tests/evaluator_test.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn testEval(input: &String) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `test_eval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testIntegerObject` should have a snake case name
[INFO] [stdout]   --> tests/evaluator_test.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn testIntegerObject(obj: &object::Object, expected: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestEvalBooleanExpression` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn TestEvalBooleanExpression() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_eval_boolean_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testBooleanObject` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn testBooleanObject(obj: &object::Object, expected: bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestBangOperator` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn TestBangOperator() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_bang_operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestIfElseExpressions` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:247:4
[INFO] [stdout]     |
[INFO] [stdout] 247 | fn TestIfElseExpressions() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_else_expressions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testNullObject` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn testNullObject(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_null_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestReturnStatements` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:304:4
[INFO] [stdout]     |
[INFO] [stdout] 304 | fn TestReturnStatements() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_return_statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestErrorHandling` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn TestErrorHandling() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_error_handling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestLetStatements` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn TestLetStatements() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestFunctionObject` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:441:4
[INFO] [stdout]     |
[INFO] [stdout] 441 | fn TestFunctionObject() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expectedBody` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let expectedBody = String::from("(x + 2)");
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestFunctionApplication` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:476:4
[INFO] [stdout]     |
[INFO] [stdout] 476 | fn TestFunctionApplication() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_application`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `TestClosures` should have a snake case name
[INFO] [stdout]    --> tests/evaluator_test.rs:515:4
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn TestClosures() {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_closures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `ast::Statement`
[INFO] [stdout]   --> src/ast.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^ help: to match on the variant, qualify the path: `ast::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:53:46
[INFO] [stdout]    |
[INFO] [stdout] 53 |             Statement::ExpressionStatement { Token, Expression } => Expression.into_string(),
[INFO] [stdout]    |                                              ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/ast.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |             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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Nil => "".to_string(),
[INFO] [stdout]    |             ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Nil`
[INFO] [stdout]    |
[INFO] [stdout] 61 |             ast::Statement::Nil => "".to_string(),
[INFO] [stdout]    |             ++++++++++++++++
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 61 |             _Nil => "".to_string(),
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:130:50
[INFO] [stdout]     |
[INFO] [stdout] 130 |             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:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Value`
[INFO] [stdout]    --> src/ast.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |             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:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/ast.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 Token,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Message`
[INFO] [stdout]   --> src/evaluator.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 |         } else if let object::Object::Error { Message } = &result {
[INFO] [stdout]    |                                               ^^^^^^^ help: try ignoring the field: `Message: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:27:47
[INFO] [stdout]    |
[INFO] [stdout] 27 |         ast::Statement::ExpressionStatement { Token, Expression } => {
[INFO] [stdout]    |                                               ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                          ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Statements`
[INFO] [stdout]   --> src/evaluator.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stdout]    |                                                 ^^^^^^^^^^ help: try ignoring the field: `Statements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ast::Statement::ReturnStatement { Token, ReturnValue } => {
[INFO] [stdout]    |                                           ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |         ast::Statement::LetStatement { Token, Name, Value } => {
[INFO] [stdout]    |                                        ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluator.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let mut args = evalExpressions(Arguments, env);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:53:44
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ast::Expression::IntergerLiteral { Token, Value } => {
[INFO] [stdout]    |                                            ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |         ast::Expression::Boolean { Token, Value } => {
[INFO] [stdout]    |                                    ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]   --> src/evaluator.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Token,
[INFO] [stdout]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Condition`
[INFO] [stdout]   --> src/evaluator.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Condition,
[INFO] [stdout]    |             ^^^^^^^^^ help: try ignoring the field: `Condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Consequence`
[INFO] [stdout]   --> src/evaluator.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Consequence,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Consequence: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Alternative`
[INFO] [stdout]   --> src/evaluator.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Alternative,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: try ignoring the field: `Alternative: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Token,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |         Token,
[INFO] [stdout]     |         ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Token`
[INFO] [stdout]    --> src/evaluator.rs:275:45
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if let ast::Statement::BlockStatement { Token, Statements } = block {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]    --> src/evaluator.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         Parameters,
[INFO] [stdout]     |         ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]    --> src/evaluator.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Env,
[INFO] [stdout]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]    --> src/evaluator.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         Body,
[INFO] [stdout]     |         ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Parameters`
[INFO] [stdout]   --> src/object.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Parameters,
[INFO] [stdout]    |                 ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Body`
[INFO] [stdout]   --> src/object.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Body,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Env`
[INFO] [stdout]   --> src/object.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Env,
[INFO] [stdout]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> src/token.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let tok: TokenType;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT` is never used
[INFO] [stdout]  --> src/repl.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PROMPT: &str = ">> ";
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Token` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         Token: token::Token,
[INFO] [stdout]   |         ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Name` should have a snake case name
[INFO] [stdout]  --> src/ast.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         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:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         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:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         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:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         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:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         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:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         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:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Statements: Vec<Statement>,
[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:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             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:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     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:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     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:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         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:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         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:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         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:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         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:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         Right: Box<Expression>,
[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:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         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:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Left: Box<Expression>,
[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:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         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:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Right: Box<Expression>,
[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:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         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:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         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:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         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:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Condition: Box<Expression>,
[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:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         Consequence: Box<Statement>,
[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:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         Alternative: Box<Statement>,
[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:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         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:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         Parameters: Vec<Expression>,
[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:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         Body: Box<Statement>,
[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:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         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:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Function: Box<Expression>,
[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:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         Arguments: Vec<Expression>,
[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:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |             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: structure field `Statements` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub Statements: Vec<Statement>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Eval` should have a snake case name
[INFO] [stdout]  --> src/evaluator.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn Eval(node: ast::Program, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]   |        ^^^^ help: convert the identifier to snake case: `eval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatements` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn evalStatements(stmts: &Vec<ast::Statement>, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalStatement` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn evalStatement(stmt: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpression` should have a snake case name
[INFO] [stdout]   --> src/evaluator.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn evalExpression(exp: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalPrefixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn evalPrefixExpression(operator: &String, right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_prefix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBangOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn evalBangOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_bang_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalMinusPrefixOperatorExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn evalMinusPrefixOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_minus_prefix_operator_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn evalInfixExpression(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIntegerInfixExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn evalIntegerInfixExpression(operator: &String, left: i64, right: i64) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_integer_infix_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIfExpression` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn evalIfExpression(ie: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_if_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isTruthy` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:265:4
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn isTruthy(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `is_truthy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalBlockStatement` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn evalBlockStatement(block: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_block_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn newError(format: String) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case: `new_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isError` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn isError(obj: &object::Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalIdentifier` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:301:4
[INFO] [stdout]     |
[INFO] [stdout] 301 | fn evalIdentifier(node: &ast::Identifier, env: &mut object::Environment) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalExpressions` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:309:4
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn evalExpressions(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expressions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `applyFunction` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn applyFunction(f: object::Object, args: Vec<object::Object>) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `extendedEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let mut extendedEnv = extendFunctionEnv(f.clone(), args);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `extended_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extendFunctionEnv` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn extendFunctionEnv(f: object::Object, args: Vec<object::Object>) -> object::Environment {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `extend_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrapReturnValue` should have a snake case name
[INFO] [stdout]    --> src/evaluator.rs:361:4
[INFO] [stdout]     |
[INFO] [stdout] 361 | fn unwrapReturnValue(obj: object::Object) -> object::Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unwrap_return_value`
[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<String> {
[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<String>) -> 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<String>) -> 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<String>) -> 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<String>) -> bool {
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `is_digit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Value` should have a snake case name
[INFO] [stdout]   --> src/object.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         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:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Value: bool,
[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:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Value: Box<Object>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Message` should have a snake case name
[INFO] [stdout]   --> src/object.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Message: String,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Parameters` should have a snake case name
[INFO] [stdout]   --> src/object.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Parameters: Vec<ast::Expression>,
[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/object.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Body: Box<ast::Statement>,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Env` should have a snake case name
[INFO] [stdout]   --> src/object.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         Env: Environment,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Type` should have a snake case name
[INFO] [stdout]   --> src/object.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub 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] 37 -     pub fn Type(&self) -> ObjectType {
[INFO] [stdout] 37 +     pub 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:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn Inspect(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn NewEnvironment() -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NewEnclosedEnvironment` should have a snake case name
[INFO] [stdout]    --> src/object.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn NewEnclosedEnvironment(outer: Environment) -> Environment {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_enclosed_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Get` should have a snake case name
[INFO] [stdout]    --> src/object.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn Get(&self, name: &String) -> Option<&Object> {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case: `get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Set` should have a snake case name
[INFO] [stdout]    --> src/object.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn Set(&mut self, name: &String, val: Object) -> Object {
[INFO] [stdout]     |            ^^^ help: convert the identifier to snake case (notice the capitalization): `set`
[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]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - static precedences: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout] 13 + static PRECEDENCES: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stdout]    |
[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<ast::Statement> {
[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<ast::Statement> {
[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<String> {
[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<ast::Statement> {
[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<ast::Statement> {
[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<Vec<ast::Expression>> {
[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<Vec<ast::Expression>> {
[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:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn printParserErrors(errors: &Vec<String>) {
[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 Type: TokenType,
[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:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn LookupIdent(ident: &String) -> TokenType {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.37s
[INFO] running `Command { std: "docker" "inspect" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", 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)]` (part of `#[warn(unused)]`) 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` and `token`
[INFO] [stderr]  --> src/repl.rs:1:39
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{evaluator, lexer, object, 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 `ast::Statement`
[INFO] [stderr]   --> src/ast.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |             Nil => "".to_string(),
[INFO] [stderr]    |             ^^^ help: to match on the variant, qualify the path: `ast::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:53:46
[INFO] [stderr]    |
[INFO] [stderr] 53 |             Statement::ExpressionStatement { Token, Expression } => Expression.into_string(),
[INFO] [stderr]    |                                              ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/ast.rs:54:41
[INFO] [stderr]    |
[INFO] [stderr] 54 |             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:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |             Nil => "".to_string(),
[INFO] [stderr]    |             ^^^
[INFO] [stderr]    |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Nil`
[INFO] [stderr]    |
[INFO] [stderr] 61 |             ast::Statement::Nil => "".to_string(),
[INFO] [stderr]    |             ++++++++++++++++
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 61 |             _Nil => "".to_string(),
[INFO] [stderr]    |             +
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Value`
[INFO] [stderr]    --> src/ast.rs:130:50
[INFO] [stderr]     |
[INFO] [stderr] 130 |             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:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 Token,
[INFO] [stderr]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/ast.rs:137:17
[INFO] [stderr]     |
[INFO] [stderr] 137 |                 Token,
[INFO] [stderr]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Value`
[INFO] [stderr]    --> src/ast.rs:150:42
[INFO] [stderr]     |
[INFO] [stderr] 150 |             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:152:17
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 Token,
[INFO] [stderr]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/ast.rs:180:17
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 Token,
[INFO] [stderr]     |                 ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Message`
[INFO] [stderr]   --> src/evaluator.rs:18:47
[INFO] [stderr]    |
[INFO] [stderr] 18 |         } else if let object::Object::Error { Message } = &result {
[INFO] [stderr]    |                                               ^^^^^^^ help: try ignoring the field: `Message: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:27:47
[INFO] [stderr]    |
[INFO] [stderr] 27 |         ast::Statement::ExpressionStatement { Token, Expression } => {
[INFO] [stderr]    |                                               ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:30:42
[INFO] [stderr]    |
[INFO] [stderr] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stderr]    |                                          ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Statements`
[INFO] [stderr]   --> src/evaluator.rs:30:49
[INFO] [stderr]    |
[INFO] [stderr] 30 |         ast::Statement::BlockStatement { Token, Statements } => evalBlockStatement(stmt, env),
[INFO] [stderr]    |                                                 ^^^^^^^^^^ help: try ignoring the field: `Statements: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 |         ast::Statement::ReturnStatement { Token, ReturnValue } => {
[INFO] [stderr]    |                                           ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:40:40
[INFO] [stderr]    |
[INFO] [stderr] 40 |         ast::Statement::LetStatement { Token, Name, Value } => {
[INFO] [stderr]    |                                        ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/evaluator.rs:119:17
[INFO] [stderr]     |
[INFO] [stderr] 119 |             let mut args = evalExpressions(Arguments, env);
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:53:44
[INFO] [stderr]    |
[INFO] [stderr] 53 |         ast::Expression::IntergerLiteral { Token, Value } => {
[INFO] [stderr]    |                                            ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:56:36
[INFO] [stderr]    |
[INFO] [stderr] 56 |         ast::Expression::Boolean { Token, Value } => {
[INFO] [stderr]    |                                    ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |             Token,
[INFO] [stderr]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |             Token,
[INFO] [stderr]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]   --> src/evaluator.rs:95:13
[INFO] [stderr]    |
[INFO] [stderr] 95 |             Token,
[INFO] [stderr]    |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Condition`
[INFO] [stderr]   --> src/evaluator.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |             Condition,
[INFO] [stderr]    |             ^^^^^^^^^ help: try ignoring the field: `Condition: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Consequence`
[INFO] [stderr]   --> src/evaluator.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |             Consequence,
[INFO] [stderr]    |             ^^^^^^^^^^^ help: try ignoring the field: `Consequence: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Alternative`
[INFO] [stderr]   --> src/evaluator.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |             Alternative,
[INFO] [stderr]    |             ^^^^^^^^^^^ help: try ignoring the field: `Alternative: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/evaluator.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |             Token,
[INFO] [stderr]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/evaluator.rs:111:13
[INFO] [stderr]     |
[INFO] [stderr] 111 |             Token,
[INFO] [stderr]     |             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/evaluator.rs:242:9
[INFO] [stderr]     |
[INFO] [stderr] 242 |         Token,
[INFO] [stderr]     |         ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Token`
[INFO] [stderr]    --> src/evaluator.rs:275:45
[INFO] [stderr]     |
[INFO] [stderr] 275 |     if let ast::Statement::BlockStatement { Token, Statements } = block {
[INFO] [stderr]     |                                             ^^^^^ help: try ignoring the field: `Token: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Parameters`
[INFO] [stderr]    --> src/evaluator.rs:327:9
[INFO] [stderr]     |
[INFO] [stderr] 327 |         Parameters,
[INFO] [stderr]     |         ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Env`
[INFO] [stderr]    --> src/evaluator.rs:329:9
[INFO] [stderr]     |
[INFO] [stderr] 329 |         Env,
[INFO] [stderr]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Body`
[INFO] [stderr]    --> src/evaluator.rs:343:9
[INFO] [stderr]     |
[INFO] [stderr] 343 |         Body,
[INFO] [stderr]     |         ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Env`
[INFO] [stderr]   --> src/object.rs:57:17
[INFO] [stderr]    |
[INFO] [stderr] 57 |                 Env,
[INFO] [stderr]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Parameters`
[INFO] [stderr]   --> src/object.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 Parameters,
[INFO] [stderr]    |                 ^^^^^^^^^^ help: try ignoring the field: `Parameters: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Body`
[INFO] [stderr]   --> src/object.rs:93:17
[INFO] [stderr]    |
[INFO] [stderr] 93 |                 Body,
[INFO] [stderr]    |                 ^^^^ help: try ignoring the field: `Body: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Env`
[INFO] [stderr]   --> src/object.rs:94:17
[INFO] [stderr]    |
[INFO] [stderr] 94 |                 Env,
[INFO] [stderr]    |                 ^^^ help: try ignoring the field: `Env: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tok`
[INFO] [stderr]   --> src/token.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let tok: TokenType;
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROMPT` is never used
[INFO] [stderr]  --> src/repl.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const PROMPT: &str = ">> ";
[INFO] [stderr]   |       ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Token` should have a snake case name
[INFO] [stderr]  --> src/ast.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |         Token: token::Token,
[INFO] [stderr]   |         ^^^^^ help: convert the identifier to snake case: `token`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Name` should have a snake case name
[INFO] [stderr]  --> src/ast.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |         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:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |         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:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |         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:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |         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:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         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:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |         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:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |         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:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         Statements: Vec<Statement>,
[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:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |             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:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |     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:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |     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:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |         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:90:9
[INFO] [stderr]    |
[INFO] [stderr] 90 |         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:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         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:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |         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:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         Right: Box<Expression>,
[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:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |         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:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |         Left: Box<Expression>,
[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:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |         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:101:9
[INFO] [stderr]     |
[INFO] [stderr] 101 |         Right: Box<Expression>,
[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:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         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:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 |         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:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |         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:109:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |         Condition: Box<Expression>,
[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:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         Consequence: Box<Statement>,
[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:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |         Alternative: Box<Statement>,
[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:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         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:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |         Parameters: Vec<Expression>,
[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:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 |         Body: Box<Statement>,
[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:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |         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:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         Function: Box<Expression>,
[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:121:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |         Arguments: Vec<Expression>,
[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:129:36
[INFO] [stderr]     |
[INFO] [stderr] 129 |             Expression::Identifier(Identifier) => Identifier.Value.clone(),
[INFO] [stderr]     |                                    ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `identifier`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Statements` should have a snake case name
[INFO] [stderr]    --> src/ast.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub Statements: Vec<Statement>,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `statements`
[INFO] [stderr] 
[INFO] [stderr] warning: function `Eval` should have a snake case name
[INFO] [stderr]  --> src/evaluator.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn Eval(node: ast::Program, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]   |        ^^^^ help: convert the identifier to snake case: `eval`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalStatements` should have a snake case name
[INFO] [stderr]   --> src/evaluator.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn evalStatements(stmts: &Vec<ast::Statement>, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statements`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalStatement` should have a snake case name
[INFO] [stderr]   --> src/evaluator.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn evalStatement(stmt: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]    |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_statement`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalExpression` should have a snake case name
[INFO] [stderr]   --> src/evaluator.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn evalExpression(exp: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalPrefixExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:130:4
[INFO] [stderr]     |
[INFO] [stderr] 130 | fn evalPrefixExpression(operator: &String, right: object::Object) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_prefix_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalBangOperatorExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:138:4
[INFO] [stderr]     |
[INFO] [stderr] 138 | fn evalBangOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_bang_operator_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalMinusPrefixOperatorExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:147:4
[INFO] [stderr]     |
[INFO] [stderr] 147 | fn evalMinusPrefixOperatorExpression(right: object::Object) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_minus_prefix_operator_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalInfixExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:155:4
[INFO] [stderr]     |
[INFO] [stderr] 155 | fn evalInfixExpression(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_infix_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalIntegerInfixExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:189:4
[INFO] [stderr]     |
[INFO] [stderr] 189 | fn evalIntegerInfixExpression(operator: &String, left: i64, right: i64) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_integer_infix_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalIfExpression` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:240:4
[INFO] [stderr]     |
[INFO] [stderr] 240 | fn evalIfExpression(ie: &ast::Expression, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_if_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `isTruthy` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:265:4
[INFO] [stderr]     |
[INFO] [stderr] 265 | fn isTruthy(obj: &object::Object) -> bool {
[INFO] [stderr]     |    ^^^^^^^^ help: convert the identifier to snake case: `is_truthy`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalBlockStatement` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:274:4
[INFO] [stderr]     |
[INFO] [stderr] 274 | fn evalBlockStatement(block: &ast::Statement, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_block_statement`
[INFO] [stderr] 
[INFO] [stderr] warning: function `newError` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:293:4
[INFO] [stderr]     |
[INFO] [stderr] 293 | fn newError(format: String) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^ help: convert the identifier to snake case: `new_error`
[INFO] [stderr] 
[INFO] [stderr] warning: function `isError` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:297:4
[INFO] [stderr]     |
[INFO] [stderr] 297 | fn isError(obj: &object::Object) -> bool {
[INFO] [stderr]     |    ^^^^^^^ help: convert the identifier to snake case: `is_error`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalIdentifier` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:301:4
[INFO] [stderr]     |
[INFO] [stderr] 301 | fn evalIdentifier(node: &ast::Identifier, env: &mut object::Environment) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_identifier`
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalExpressions` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:309:4
[INFO] [stderr]     |
[INFO] [stderr] 309 | fn evalExpressions(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eval_expressions`
[INFO] [stderr] 
[INFO] [stderr] warning: function `applyFunction` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:325:4
[INFO] [stderr]     |
[INFO] [stderr] 325 | fn applyFunction(f: object::Object, args: Vec<object::Object>) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^ help: convert the identifier to snake case: `apply_function`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `extendedEnv` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:332:17
[INFO] [stderr]     |
[INFO] [stderr] 332 |         let mut extendedEnv = extendFunctionEnv(f.clone(), args);
[INFO] [stderr]     |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `extended_env`
[INFO] [stderr] 
[INFO] [stderr] warning: function `extendFunctionEnv` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:340:4
[INFO] [stderr]     |
[INFO] [stderr] 340 | fn extendFunctionEnv(f: object::Object, args: Vec<object::Object>) -> object::Environment {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `extend_function_env`
[INFO] [stderr] 
[INFO] [stderr] warning: function `unwrapReturnValue` should have a snake case name
[INFO] [stderr]    --> src/evaluator.rs:361:4
[INFO] [stderr]     |
[INFO] [stderr] 361 | fn unwrapReturnValue(obj: object::Object) -> object::Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unwrap_return_value`
[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<String> {
[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<String>) -> 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<String>) -> 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<String>) -> 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<String>) -> bool {
[INFO] [stderr]     |    ^^^^^^^ help: convert the identifier to snake case: `is_digit`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Value` should have a snake case name
[INFO] [stderr]   --> src/object.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |         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:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |         Value: bool,
[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:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |         Value: Box<Object>,
[INFO] [stderr]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Message` should have a snake case name
[INFO] [stderr]   --> src/object.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         Message: String,
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `message`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Parameters` should have a snake case name
[INFO] [stderr]   --> src/object.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         Parameters: Vec<ast::Expression>,
[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/object.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         Body: Box<ast::Statement>,
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `body`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Env` should have a snake case name
[INFO] [stderr]   --> src/object.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         Env: Environment,
[INFO] [stderr]    |         ^^^ help: convert the identifier to snake case: `env`
[INFO] [stderr] 
[INFO] [stderr] warning: method `Type` should have a snake case name
[INFO] [stderr]   --> src/object.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub 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] 37 -     pub fn Type(&self) -> ObjectType {
[INFO] [stderr] 37 +     pub 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:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn Inspect(&self) -> String {
[INFO] [stderr]    |            ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `inspect`
[INFO] [stderr] 
[INFO] [stderr] warning: function `NewEnvironment` should have a snake case name
[INFO] [stderr]    --> src/object.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn NewEnvironment() -> Environment {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_environment`
[INFO] [stderr] 
[INFO] [stderr] warning: function `NewEnclosedEnvironment` should have a snake case name
[INFO] [stderr]    --> src/object.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub fn NewEnclosedEnvironment(outer: Environment) -> Environment {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_enclosed_environment`
[INFO] [stderr] 
[INFO] [stderr] warning: method `Get` should have a snake case name
[INFO] [stderr]    --> src/object.rs:129:12
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn Get(&self, name: &String) -> Option<&Object> {
[INFO] [stderr]     |            ^^^ help: convert the identifier to snake case: `get`
[INFO] [stderr] 
[INFO] [stderr] warning: method `Set` should have a snake case name
[INFO] [stderr]    --> src/object.rs:140:12
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub fn Set(&mut self, name: &String, val: Object) -> Object {
[INFO] [stderr]     |            ^^^ help: convert the identifier to snake case (notice the capitalization): `set`
[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]    |        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 13 - static precedences: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stderr] 13 + static PRECEDENCES: phf::Map<&'static str, i32> = phf_map! {
[INFO] [stderr]    |
[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<ast::Statement> {
[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<ast::Statement> {
[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<String> {
[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<ast::Statement> {
[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<ast::Statement> {
[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<Vec<ast::Expression>> {
[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<Vec<ast::Expression>> {
[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:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn printParserErrors(errors: &Vec<String>) {
[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 Type: TokenType,
[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:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn LookupIdent(ident: &String) -> TokenType {
[INFO] [stderr]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `lookup_ident`
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0170`.
[INFO] [stderr] warning: `monkey_interpreter` (lib) generated 156 warnings (run `cargo fix --lib -p monkey_interpreter` to apply 41 suggestions)
[INFO] [stderr] warning: `monkey_interpreter` (lib test) generated 156 warnings (156 duplicates)
[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)]` (part of `#[warn(nonstandard_style)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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: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]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[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: 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)]` (part of `#[warn(unused)]`) on by default
[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: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] 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: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: struct `ExpectedIdentifiers` is never constructed
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `leftValue`, `operator`, and `rightValue` are never read
[INFO] [stderr]    --> tests/parser_test.rs:386:9
[INFO] [stderr]     |
[INFO] [stderr] 384 |     struct infixTests_struct {
[INFO] [stderr]     |            ----------------- fields in this struct
[INFO] [stderr] 385 |         input: String,
[INFO] [stderr] 386 |         leftValue: ast::Expression,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 387 |         operator: String,
[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)]` (part of `#[warn(nonstandard_style)]`) 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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<String>,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_params`
[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: unused imports: `ast` and `parser`
[INFO] [stderr]  --> tests/evaluator_test.rs:2:26
[INFO] [stderr]   |
[INFO] [stderr] 2 | use monkey_interpreter::{ast, evaluator, lexer, object, parser};
[INFO] [stderr]   |                          ^^^                            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `tests_struct` should have an upper camel case name
[INFO] [stderr]  --> tests/evaluator_test.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 |     struct tests_struct {
[INFO] [stderr]   |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `tests_struct` should have an upper camel case name
[INFO] [stderr]    --> tests/evaluator_test.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 104 |     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/evaluator_test.rs:209:12
[INFO] [stderr]     |
[INFO] [stderr] 209 |     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/evaluator_test.rs:248:12
[INFO] [stderr]     |
[INFO] [stderr] 248 |     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/evaluator_test.rs:305:12
[INFO] [stderr]     |
[INFO] [stderr] 305 |     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/evaluator_test.rs:349:12
[INFO] [stderr]     |
[INFO] [stderr] 349 |     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/evaluator_test.rs:411:12
[INFO] [stderr]     |
[INFO] [stderr] 411 |     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/evaluator_test.rs:477:12
[INFO] [stderr]     |
[INFO] [stderr] 477 |     struct tests_struct {
[INFO] [stderr]     |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestsStruct`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Env`
[INFO] [stderr]    --> tests/evaluator_test.rs:447:9
[INFO] [stderr]     |
[INFO] [stderr] 447 |         Env,
[INFO] [stderr]     |         ^^^ help: try ignoring the field: `Env: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestEvalIntegerExpression` should have a snake case name
[INFO] [stderr]  --> tests/evaluator_test.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn TestEvalIntegerExpression() {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_eval_integer_expression`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `testEval` should have a snake case name
[INFO] [stderr]   --> tests/evaluator_test.rs:80:4
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn testEval(input: &String) -> object::Object {
[INFO] [stderr]    |    ^^^^^^^^ help: convert the identifier to snake case: `test_eval`
[INFO] [stderr] 
[INFO] [stderr] warning: function `testIntegerObject` should have a snake case name
[INFO] [stderr]   --> tests/evaluator_test.rs:88:4
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn testIntegerObject(obj: &object::Object, expected: i64) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_integer_object`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestEvalBooleanExpression` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:103:4
[INFO] [stderr]     |
[INFO] [stderr] 103 | fn TestEvalBooleanExpression() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_eval_boolean_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: function `testBooleanObject` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:193:4
[INFO] [stderr]     |
[INFO] [stderr] 193 | fn testBooleanObject(obj: &object::Object, expected: bool) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_boolean_object`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestBangOperator` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:208:4
[INFO] [stderr]     |
[INFO] [stderr] 208 | fn TestBangOperator() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_bang_operator`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestIfElseExpressions` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:247:4
[INFO] [stderr]     |
[INFO] [stderr] 247 | fn TestIfElseExpressions() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_if_else_expressions`
[INFO] [stderr] 
[INFO] [stderr] warning: function `testNullObject` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:294:4
[INFO] [stderr]     |
[INFO] [stderr] 294 | fn testNullObject(obj: &object::Object) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_null_object`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestReturnStatements` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:304:4
[INFO] [stderr]     |
[INFO] [stderr] 304 | fn TestReturnStatements() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_return_statements`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestErrorHandling` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:348:4
[INFO] [stderr]     |
[INFO] [stderr] 348 | fn TestErrorHandling() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_error_handling`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestLetStatements` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:410:4
[INFO] [stderr]     |
[INFO] [stderr] 410 | fn TestLetStatements() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_let_statements`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestFunctionObject` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:441:4
[INFO] [stderr]     |
[INFO] [stderr] 441 | fn TestFunctionObject() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_object`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `expectedBody` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:462:13
[INFO] [stderr]     |
[INFO] [stderr] 462 |         let expectedBody = String::from("(x + 2)");
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_body`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestFunctionApplication` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:476:4
[INFO] [stderr]     |
[INFO] [stderr] 476 | fn TestFunctionApplication() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_function_application`
[INFO] [stderr] 
[INFO] [stderr] warning: function `TestClosures` should have a snake case name
[INFO] [stderr]    --> tests/evaluator_test.rs:515:4
[INFO] [stderr]     |
[INFO] [stderr] 515 | fn TestClosures() {
[INFO] [stderr]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_closures`
[INFO] [stderr] 
[INFO] [stderr] warning: `monkey_interpreter` (test "lexer_test") generated 3 warnings
[INFO] [stderr] warning: `monkey_interpreter` (test "parser_test") generated 72 warnings (run `cargo fix --test "parser_test" -p monkey_interpreter` to apply 34 suggestions)
[INFO] [stderr] warning: `monkey_interpreter` (test "evaluator_test") generated 25 warnings (run `cargo fix --test "evaluator_test" -p monkey_interpreter` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/monkey_interpreter/5d40c40f0e87c5f0/out/monkey_interpreter-5d40c40f0e87c5f0)
[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] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/monkey_interpreter/a6da26bfce4bb928/out/monkey_interpreter-a6da26bfce4bb928)
[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] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test TestClosures ... ok
[INFO] [stdout] test TestFunctionObject ... ok
[INFO] [stdout] test TestErrorHandling ... ok
[INFO] [stdout] test TestEvalBooleanExpression ... ok
[INFO] [stdout] test TestIfElseExpressions ... ok
[INFO] [stdout] test TestEvalIntegerExpression ... ok
[INFO] [stdout] test TestLetStatements ... ok
[INFO] [stdout] test TestFunctionApplication ... ok
[INFO] [stdout] test TestReturnStatements ... ok
[INFO] [stderr]      Running tests/evaluator_test.rs (/opt/rustwide/target/debug/build/monkey_interpreter/0e2b02fa690212a9/out/evaluator_test-0e2b02fa690212a9)
[INFO] [stderr]      Running tests/lexer_test.rs (/opt/rustwide/target/debug/build/monkey_interpreter/7e6648986b8aedba/out/lexer_test-7e6648986b8aedba)
[INFO] [stdout] test TestBangOperator ... ok
[INFO] [stderr]      Running tests/parser_test.rs (/opt/rustwide/target/debug/build/monkey_interpreter/f18a8cc1d18cf466/out/parser_test-f18a8cc1d18cf466)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test TestNextToken ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test TestFunctionParameterParsing ... ok
[INFO] [stdout] test TestLetStatements ... ok
[INFO] [stdout] test TestBooleanExpression ... ok
[INFO] [stdout] test TestCallExpressionParsing ... ok
[INFO] [stderr]    Doc-tests monkey_interpreter
[INFO] [stdout] test TestIfElseExpression ... ok
[INFO] [stdout] test TestIfExpression ... ok
[INFO] [stdout] test TestIntegerLiteralExpression ... ok
[INFO] [stdout] test TestFunctionLiteralParsing ... ok
[INFO] [stdout] test TestIdentifierExpression ... ok
[INFO] [stdout] test TestOperatorPrecedenceParsing ... ok
[INFO] [stdout] test TestParsingInfixExpressions ... ok
[INFO] [stdout] test TestParsingPrefixExpression ... ok
[INFO] [stdout] test TestReturnStatement ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[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" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e", kill_on_drop: false }`
[INFO] [stdout] 43b0607129c6d112591cda1acb97dafa05ee0822ef78ca681fbfb33e13c13a3e
