[INFO] cloning repository https://github.com/kpfromer/javascript-interpreter-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kpfromer/javascript-interpreter-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b85f36d69e01b720e7524e045c53e28f51889f8b
[INFO] checking kpfromer/javascript-interpreter-rust against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/kpfromer/javascript-interpreter-rust on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/kpfromer/javascript-interpreter-rust
[INFO] finished tweaking git repo https://github.com/kpfromer/javascript-interpreter-rust
[INFO] tweaked toml for git repo https://github.com/kpfromer/javascript-interpreter-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/kpfromer/javascript-interpreter-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7c62706a4027e9a72234cce349d84f30edce051b9d0a546c7155b78f3859575
[INFO] running `Command { std: "docker" "start" "-a" "b7c62706a4027e9a72234cce349d84f30edce051b9d0a546c7155b78f3859575", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7c62706a4027e9a72234cce349d84f30edce051b9d0a546c7155b78f3859575", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7c62706a4027e9a72234cce349d84f30edce051b9d0a546c7155b78f3859575", kill_on_drop: false }`
[INFO] [stdout] b7c62706a4027e9a72234cce349d84f30edce051b9d0a546c7155b78f3859575
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c215cf049e4450fba8d10bf2845953dd549c409808add076fa5d32bc94ab2f05
[INFO] running `Command { std: "docker" "start" "-a" "c215cf049e4450fba8d10bf2845953dd549c409808add076fa5d32bc94ab2f05", kill_on_drop: false }`
[INFO] [stderr]     Checking unicode-segmentation v1.6.0
[INFO] [stderr]     Checking javascript-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/lexer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::*`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::*;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/lexer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::*`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::*;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut lexer = lexer::Lexer {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expr` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Stmt {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 2 |   Expr(Expr),
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BooleanValue` is never constructed
[INFO] [stdout]  --> src/callstack.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ActivationRecordValue<INT> {
[INFO] [stdout]   |          --------------------- variant in this enum
[INFO] [stdout] 5 |   BooleanValue(bool),
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ActivationRecordValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `parent` are never read
[INFO] [stdout]   --> src/callstack.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ActivationRecord<INT> {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 11 |   pub name: String,
[INFO] [stdout] 12 |   pub level: u32,
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 13 |   pub parent: Option<Box<ActivationRecord<INT>>>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> src/callstack.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<INT> ActivationRecord<INT> {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn remove(&mut self, name: &String) -> Option<ActivationRecordValue<INT>> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:5:3
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum TokenKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 5  |   Program,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 6  |   Begin,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 7  |   End,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 8  |   Dot,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 9  |   Semi,
[INFO] [stdout] 10 |   Colon,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 11 |   Comma,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 12 |   Var,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |   Assign,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |   NotEqual,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 18 |   And,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 19 |   Or,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 20 |   Less,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 21 |   LessEqual,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 22 |   Greater,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 23 |   GreaterEqual,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 24 |   Not,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   Integer,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 38 |   Boolean,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 39 |   Function,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 40 |   Procedure,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `location` is never read
[INFO] [stdout]   --> src/lexer.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Token {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 54 |   pub kind: TokenKind,
[INFO] [stdout] 55 |   pub location: usize,
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]   --> src/lexer.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 70 |   fn advance(&mut self) -> bool {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `number` is never used
[INFO] [stdout]   --> src/parser.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'a> Parser<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |   pub fn number(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fileContent` should have a snake case name
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let fileContent = UnicodeSegmentation::graphemes(&contents[..], true).collect::<Vec<&str>>();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `file_content`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skipWhitespace` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:74:6
[INFO] [stdout]    |
[INFO] [stdout] 74 |   fn skipWhitespace(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skipComment` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn skipComment(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to snake case: `skip_comment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getNextToken` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub fn getNextToken(&mut self) -> Token {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_next_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oldPos` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let oldPos = self.pos;
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `old_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numbVec` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut numbVec: Vec<u32> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `numb_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `multDivFactor` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |   pub fn multDivFactor(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_div_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addSubFactor` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 |   pub fn addSubFactor(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `add_sub_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `letStatement` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |   pub fn letStatement(&mut self) -> Stmt {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `let_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `varName` should have a snake case name
[INFO] [stdout]   --> src/visitor.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub varName: Option<String>,
[INFO] [stdout]    |       ^^^^^^^ help: convert the identifier to snake case: `var_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut lexer = lexer::Lexer {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expr` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Stmt {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 2 |   Expr(Expr),
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BooleanValue` is never constructed
[INFO] [stdout]  --> src/callstack.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ActivationRecordValue<INT> {
[INFO] [stdout]   |          --------------------- variant in this enum
[INFO] [stdout] 5 |   BooleanValue(bool),
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ActivationRecordValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `parent` are never read
[INFO] [stdout]   --> src/callstack.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ActivationRecord<INT> {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 11 |   pub name: String,
[INFO] [stdout] 12 |   pub level: u32,
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 13 |   pub parent: Option<Box<ActivationRecord<INT>>>,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> src/callstack.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<INT> ActivationRecord<INT> {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn remove(&mut self, name: &String) -> Option<ActivationRecordValue<INT>> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:5:3
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum TokenKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 5  |   Program,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 6  |   Begin,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 7  |   End,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 8  |   Dot,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 9  |   Semi,
[INFO] [stdout] 10 |   Colon,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 11 |   Comma,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 12 |   Var,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |   Assign,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |   NotEqual,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 18 |   And,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 19 |   Or,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 20 |   Less,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 21 |   LessEqual,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 22 |   Greater,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 23 |   GreaterEqual,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 24 |   Not,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   Integer,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 38 |   Boolean,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 39 |   Function,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 40 |   Procedure,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `location` is never read
[INFO] [stdout]   --> src/lexer.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Token {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 54 |   pub kind: TokenKind,
[INFO] [stdout] 55 |   pub location: usize,
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]   --> src/lexer.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 70 |   fn advance(&mut self) -> bool {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `number` is never used
[INFO] [stdout]   --> src/parser.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'a> Parser<'a> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |   pub fn number(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fileContent` should have a snake case name
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let fileContent = UnicodeSegmentation::graphemes(&contents[..], true).collect::<Vec<&str>>();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `file_content`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skipWhitespace` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:74:6
[INFO] [stdout]    |
[INFO] [stdout] 74 |   fn skipWhitespace(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_whitespace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skipComment` should have a snake case name
[INFO] [stdout]   --> src/lexer.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn skipComment(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to snake case: `skip_comment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getNextToken` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub fn getNextToken(&mut self) -> Token {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_next_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oldPos` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let oldPos = self.pos;
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `old_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `numbVec` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |     let mut numbVec: Vec<u32> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `numb_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `multDivFactor` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |   pub fn multDivFactor(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mult_div_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addSubFactor` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 |   pub fn addSubFactor(&mut self) -> Expr {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `add_sub_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `letStatement` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |   pub fn letStatement(&mut self) -> Stmt {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `let_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `varName` should have a snake case name
[INFO] [stdout]   --> src/visitor.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub varName: Option<String>,
[INFO] [stdout]    |       ^^^^^^^ help: convert the identifier to snake case: `var_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `varName` should have a snake case name
[INFO] [stdout]   --> src/visitor.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let Some(ref varName) = self.varName {
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `var_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `varName` should have a snake case name
[INFO] [stdout]   --> src/visitor.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let Some(ref varName) = self.varName {
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `var_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] running `Command { std: "docker" "inspect" "c215cf049e4450fba8d10bf2845953dd549c409808add076fa5d32bc94ab2f05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c215cf049e4450fba8d10bf2845953dd549c409808add076fa5d32bc94ab2f05", kill_on_drop: false }`
[INFO] [stdout] c215cf049e4450fba8d10bf2845953dd549c409808add076fa5d32bc94ab2f05
