[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#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust" "/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/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kpfromer/javascript-interpreter-rust on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking kpfromer/javascript-interpreter-rust against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust" "/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/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kpfromer/javascript-interpreter-rust on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking kpfromer/javascript-interpreter-rust against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpfromer%2Fjavascript-interpreter-rust" "/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/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kpfromer/javascript-interpreter-rust on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed33491acac975998bba5ba7807a7358a11bbca926b269c8729b691051a7fb92
[INFO] running `Command { std: "docker" "start" "-a" "ed33491acac975998bba5ba7807a7358a11bbca926b269c8729b691051a7fb92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed33491acac975998bba5ba7807a7358a11bbca926b269c8729b691051a7fb92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed33491acac975998bba5ba7807a7358a11bbca926b269c8729b691051a7fb92", kill_on_drop: false }`
[INFO] [stdout] ed33491acac975998bba5ba7807a7358a11bbca926b269c8729b691051a7fb92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1739852d8e0f236e8fe6ccf87274245731262e0186ea14dc79cd8b4aa563e22e
[INFO] running `Command { std: "docker" "start" "-a" "1739852d8e0f236e8fe6ccf87274245731262e0186ea14dc79cd8b4aa563e22e", 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 `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 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "1739852d8e0f236e8fe6ccf87274245731262e0186ea14dc79cd8b4aa563e22e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1739852d8e0f236e8fe6ccf87274245731262e0186ea14dc79cd8b4aa563e22e", kill_on_drop: false }`
[INFO] [stdout] 1739852d8e0f236e8fe6ccf87274245731262e0186ea14dc79cd8b4aa563e22e
