[INFO] cloning repository https://github.com/russell0430/rust_ast
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/russell0430/rust_ast" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frussell0430%2Frust_ast", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frussell0430%2Frust_ast'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c33681783b6c3029b01dd9c983a869dbb518be52
[INFO] testing russell0430/rust_ast against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frussell0430%2Frust_ast" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/russell0430/rust_ast
[INFO] finished tweaking git repo https://github.com/russell0430/rust_ast
[INFO] tweaked toml for git repo https://github.com/russell0430/rust_ast written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/russell0430/rust_ast on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/russell0430/rust_ast 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: alias
[INFO] [stderr] help: alias is a valid .cargo/config.toml key
[INFO] [stderr] warning: `ast` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] testing russell0430/rust_ast against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frussell0430%2Frust_ast" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/russell0430/rust_ast
[INFO] finished tweaking git repo https://github.com/russell0430/rust_ast
[INFO] tweaked toml for git repo https://github.com/russell0430/rust_ast written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/russell0430/rust_ast on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/russell0430/rust_ast 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: alias
[INFO] [stderr] help: alias is a valid .cargo/config.toml key
[INFO] [stderr] warning: `ast` (manifest) generated 1 warning
[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-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83
[INFO] running `Command { std: "docker" "start" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", 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" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", 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" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: alias
[INFO] [stderr] help: alias is a valid .cargo/config.toml key
[INFO] [stderr] warning: `ast` (manifest) generated 1 warning
[INFO] [stderr]    Compiling ast v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokenizer::Tokenizer`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokenizer::Tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 let mut local = if self.check_current_token_type(TokenType::As) {
[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: enum `NodeType` is never used
[INFO] [stdout]  --> src/node_types.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionType` is never used
[INFO] [stdout]   --> src/node_types.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum FunctionType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/node_types.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Node {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/node_types.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Literal` is never constructed
[INFO] [stdout]   --> src/node_types.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Literal {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/node_types.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Identifier {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CallExpression` is never constructed
[INFO] [stdout]   --> src/node_types.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct CallExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemberObject` is never used
[INFO] [stdout]    --> src/node_types.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub enum MemberObject {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemberExpression` is never constructed
[INFO] [stdout]    --> src/node_types.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct MemberExpression {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStatement` is never constructed
[INFO] [stdout]    --> src/node_types.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct BlockStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpressionStatement` is never constructed
[INFO] [stdout]    --> src/node_types.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct ExpressionStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionParam` is never used
[INFO] [stdout]    --> src/node_types.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub enum FunctionParam {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionNode` is never constructed
[INFO] [stdout]    --> src/node_types.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct FunctionNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionExpression` is never constructed
[INFO] [stdout]    --> src/node_types.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct FunctionExpression {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/node_types.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl FunctionExpression {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 148 |     pub fn new(node: FunctionNode) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct FunctionDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/node_types.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl FunctionDeclaration {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 163 |     pub fn new(node: FunctionNode) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VariableKind` is never used
[INFO] [stdout]    --> src/node_types.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub enum VariableKind {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExpressionOrLiteral` is never used
[INFO] [stdout]    --> src/node_types.rs:185:10
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub enum ExpressionOrLiteral {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VariableDeclarator` is never constructed
[INFO] [stdout]    --> src/node_types.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub struct VariableDeclarator {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VariableDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct VariableDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportSpecifier` is never constructed
[INFO] [stdout]    --> src/node_types.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub struct ImportSpecifier {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportDefaultSpecifier` is never constructed
[INFO] [stdout]    --> src/node_types.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct ImportDefaultSpecifier {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportNameSpaceSpecifier` is never constructed
[INFO] [stdout]    --> src/node_types.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct ImportNameSpaceSpecifier {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MixedImportSpecifier` is never used
[INFO] [stdout]    --> src/node_types.rs:236:10
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum MixedImportSpecifier {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct ImportDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportSpecifier` is never constructed
[INFO] [stdout]    --> src/node_types.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct ExportSpecifier {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportNamedDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct ExportNamedDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeclarationOrExpression` is never used
[INFO] [stdout]    --> src/node_types.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub enum DeclarationOrExpression {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportDefaultDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct ExportDefaultDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExportAllDeclaration` is never constructed
[INFO] [stdout]    --> src/node_types.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct ExportAllDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExportDeclaration` is never used
[INFO] [stdout]    --> src/node_types.rs:290:10
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub enum ExportDeclaration {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node` is never used
[INFO] [stdout]    --> src/node_types.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 296 | impl ExportDeclaration {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 297 |     pub fn get_node(&self) -> &Node {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryExpression` is never constructed
[INFO] [stdout]    --> src/node_types.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct BinaryExpression {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Declaration` is never used
[INFO] [stdout]    --> src/node_types.rs:315:10
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub enum Declaration {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReturnStatement` is never constructed
[INFO] [stdout]    --> src/node_types.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub struct ReturnStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]    --> src/node_types.rs:329:10
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub enum Statement {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node` is never used
[INFO] [stdout]    --> src/node_types.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | impl Statement {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 340 |     pub fn get_node(&self) -> &Node {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/node_types.rs:354:10
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub enum Expression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node` is never used
[INFO] [stdout]    --> src/node_types.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 364 | impl Expression {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 365 |     pub fn get_node(&self) -> &Node {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/node_types.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 416 | impl Program {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 417 |     pub fn new(start: usize, end: usize, body: Vec<Statement>) -> Program {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  17 |     pub fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub fn parse(&mut self) -> Program {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     fn parse_program(&mut self) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn is_end(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     fn go_next(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn parse_literal(&mut self) -> Result<Literal, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn parse_import_statement(&mut self) -> Result<ImportDeclaration, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn parse_export_statement(&mut self) -> Result<ExportDeclaration, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     fn is_variable_declaration_end(&self) -> Result<bool, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     fn parse_variable_declaration(&mut self) -> Result<VariableDeclaration, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn parse_identify(&mut self) -> Result<Identifier, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     fn parse_function_declaration(&mut self) -> Result<FunctionDeclaration, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     fn parse_expression(&mut self) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 473 |     fn parse_function_expression(&mut self) -> Result<FunctionExpression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     fn parse_params(&mut self, mode: Option<FunctionType>) -> Result<Vec<FunctionParam>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     fn parse_call_expression(&mut self, callee: Expression) -> Result<CallExpression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     fn parse_member_expression(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |     fn parse_binary_operator_expression(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn parse_block_statement(&mut self) -> Result<BlockStatement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     fn parse_expression_statement(&mut self) -> Result<ExpressionStatement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     fn parse_return_statement(&mut self) -> Result<ReturnStatement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |     fn parse_statement(&mut self) -> Result<Statement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 672 |     fn check_current_token_type(&self, token_types: impl IntoIterator<Item = TokenType>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     fn skip_semicolon(&mut self) -> Result<bool, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 695 |     fn get_current_token(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 698 |     fn get_previous_token(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 702 |     fn get_next_token(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]    --> src/parser.rs:708:8
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub fn parse(code: &str) -> Result<Program, String> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TokenType` is never used
[INFO] [stdout]  --> src/tokenizer.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum TokenType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScanMode` is never used
[INFO] [stdout]   --> src/tokenizer.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum ScanMode {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]   --> src/tokenizer.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Token {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]    --> src/tokenizer.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct Tokenizer {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Quotation_Tokens` is never used
[INFO] [stdout]    --> src/tokenizer.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Known_Char_Tokens` is never used
[INFO] [stdout]    --> src/tokenizer.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OPERATOR_TOKENS` is never used
[INFO] [stdout]    --> src/tokenizer.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | static OPERATOR_TOKENS: &[&str] = &["+", "-", "*", "/", "%", "^", "&", "|", "~", "<<", ">>"];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tokenizer.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl Tokenizer {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 349 |     pub fn new(input: &str) -> Tokenizer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn tokenize(&mut self) -> Result<Vec<Token>, String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     fn scan_identifier(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 473 |     fn scan_string_literal(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     fn scan_number(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     fn get_current_char(&self) -> Option<char> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     fn get_next_char(&self) -> Option<char> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn get_previous_token(&mut self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `let_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn let_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `const_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn const_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `var_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn var_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `function_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn function_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn number_token(start: usize, value: String) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operator_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn operator_token(start: usize, value: String) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asterisk_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn asterisk_token(start: usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assign_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn assign_token(start: usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn import_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn export_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn from_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn as_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn default_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `return_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn return_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comma_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn comma_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `left_paren_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn left_paren_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `right_paren_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub fn right_paren_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `left_curly_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn left_curly_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `right_curly_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:287:12
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn right_curly_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn dot_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `semicolon_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn semicolon_token() -> fn(usize) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_literal_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn string_literal_token(start: usize, value: String, raw: String) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier_token` is never used
[INFO] [stdout]    --> src/tokenizer.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 327 |     pub fn identifier_token(start: usize, value: String) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/node_types.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         write!(f, "{}", self.node);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let _ = write!(f, "{}", self.node);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `defaultSpecifier` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let defaultSpecifier = ImportDefaultSpecifier {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_specifier`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `importNameSpaceSpecifier` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let importNameSpaceSpecifier = ImportNameSpaceSpecifier {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `import_name_space_specifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         self.skip_semicolon();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let _ = self.skip_semicolon();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `exportDeclaration` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut exportDeclaration = None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `export_declaration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 self.skip_semicolon();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 let _ = self.skip_semicolon();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         self.skip_semicolon();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let _ = self.skip_semicolon();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Quotation_Tokens` should have an upper case name
[INFO] [stdout]    --> src/tokenizer.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[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] 345 - static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[INFO] [stdout] 345 + static QUOTATION_TOKENS: &[char] = &['\'', '"', '`'];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Known_Char_Tokens` should have an upper case name
[INFO] [stdout]    --> src/tokenizer.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 346 - static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout] 346 + static KNOWN_CHAR_TOKENS: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startIndex` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let startIndex = self.current_index;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_setScanMode` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:538:8
[INFO] [stdout]     |
[INFO] [stdout] 538 |     fn _setScanMode(&mut self, mode: &ScanMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `_set_scan_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_resetScanMode` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 541 |     fn _resetScanMode(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_reset_scan_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] running `Command { std: "docker" "inspect" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", 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" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: alias
[INFO] [stderr] help: alias is a valid .cargo/config.toml key
[INFO] [stderr] warning: `ast` (manifest) generated 1 warning
[INFO] [stderr]    Compiling ast v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokenizer::Tokenizer`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokenizer::Tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 let mut local = if self.check_current_token_type(TokenType::As) {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/__test__/tokenizer_test.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut input = "123.45";
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/__test__/parser_test.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let input = "export default function() {}";
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/__test__/parser_test.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let expected = Program::new(
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ExportDeclaration` is never constructed
[INFO] [stdout]   --> src/node_types.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum NodeType {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     ExportDeclaration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ImportDeclaration` and `ExportDeclaration` are never constructed
[INFO] [stdout]    --> src/node_types.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub enum Declaration {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 318 |     ImportDeclaration(ImportDeclaration),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 319 |     ExportDeclaration(ExportDeclaration),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Declaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node` is never used
[INFO] [stdout]    --> src/node_types.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 364 | impl Expression {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 365 |     pub fn get_node(&self) -> &Node {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_reexport` is never used
[INFO] [stdout]    --> src/__test__/tokenizer_test.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout] 456 |     fn test_reexport() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_export_declaration` is never used
[INFO] [stdout]    --> src/__test__/parser_test.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn test_export_declaration() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/node_types.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         write!(f, "{}", self.node);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let _ = write!(f, "{}", self.node);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `defaultSpecifier` should have a snake case name
[INFO] [stdout]   --> src/parser.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let defaultSpecifier = ImportDefaultSpecifier {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_specifier`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `importNameSpaceSpecifier` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let importNameSpaceSpecifier = ImportNameSpaceSpecifier {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `import_name_space_specifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         self.skip_semicolon();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let _ = self.skip_semicolon();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `exportDeclaration` should have a snake case name
[INFO] [stdout]    --> src/parser.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut exportDeclaration = None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `export_declaration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 self.skip_semicolon();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 let _ = self.skip_semicolon();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         self.skip_semicolon();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let _ = self.skip_semicolon();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Quotation_Tokens` should have an upper case name
[INFO] [stdout]    --> src/tokenizer.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[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] 345 - static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[INFO] [stdout] 345 + static QUOTATION_TOKENS: &[char] = &['\'', '"', '`'];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Known_Char_Tokens` should have an upper case name
[INFO] [stdout]    --> src/tokenizer.rs:346:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 346 - static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout] 346 + static KNOWN_CHAR_TOKENS: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startIndex` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let startIndex = self.current_index;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_setScanMode` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:538:8
[INFO] [stdout]     |
[INFO] [stdout] 538 |     fn _setScanMode(&mut self, mode: &ScanMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `_set_scan_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_resetScanMode` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 541 |     fn _resetScanMode(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_reset_scan_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s
[INFO] running `Command { std: "docker" "inspect" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", 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" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: alias
[INFO] [stderr] help: alias is a valid .cargo/config.toml key
[INFO] [stderr] warning: `ast` (manifest) generated 1 warning
[INFO] [stderr] warning: unused import: `tokenizer::Tokenizer`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tokenizer::Tokenizer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:115:21
[INFO] [stderr]     |
[INFO] [stderr] 115 |                 let mut local = if self.check_current_token_type(TokenType::As) {
[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: variable does not need to be mutable
[INFO] [stderr]   --> src/__test__/tokenizer_test.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let mut input = "123.45";
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/__test__/parser_test.rs:471:13
[INFO] [stderr]     |
[INFO] [stderr] 471 |         let input = "export default function() {}";
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected`
[INFO] [stderr]    --> src/__test__/parser_test.rs:472:13
[INFO] [stderr]     |
[INFO] [stderr] 472 |         let expected = Program::new(
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ExportDeclaration` is never constructed
[INFO] [stderr]   --> src/node_types.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum NodeType {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 21 |     ExportDeclaration,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ImportDeclaration` and `ExportDeclaration` are never constructed
[INFO] [stderr]    --> src/node_types.rs:318:5
[INFO] [stderr]     |
[INFO] [stderr] 315 | pub enum Declaration {
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 318 |     ImportDeclaration(ImportDeclaration),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 319 |     ExportDeclaration(ExportDeclaration),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Declaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_node` is never used
[INFO] [stderr]    --> src/node_types.rs:365:12
[INFO] [stderr]     |
[INFO] [stderr] 364 | impl Expression {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 365 |     pub fn get_node(&self) -> &Node {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_reexport` is never used
[INFO] [stderr]    --> src/__test__/tokenizer_test.rs:456:8
[INFO] [stderr]     |
[INFO] [stderr] 456 |     fn test_reexport() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_export_declaration` is never used
[INFO] [stderr]    --> src/__test__/parser_test.rs:386:8
[INFO] [stderr]     |
[INFO] [stderr] 386 |     fn test_export_declaration() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/node_types.rs:250:9
[INFO] [stderr]     |
[INFO] [stderr] 250 |         write!(f, "{}", self.node);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 250 |         let _ = write!(f, "{}", self.node);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `defaultSpecifier` should have a snake case name
[INFO] [stderr]   --> src/parser.rs:95:17
[INFO] [stderr]    |
[INFO] [stderr] 95 |             let defaultSpecifier = ImportDefaultSpecifier {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_specifier`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `importNameSpaceSpecifier` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:142:17
[INFO] [stderr]     |
[INFO] [stderr] 142 |             let importNameSpaceSpecifier = ImportNameSpaceSpecifier {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `import_name_space_specifier`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |         self.skip_semicolon();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 169 |         let _ = self.skip_semicolon();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `exportDeclaration` should have a snake case name
[INFO] [stderr]    --> src/parser.rs:174:17
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let mut exportDeclaration = None;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `export_declaration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:308:17
[INFO] [stderr]     |
[INFO] [stderr] 308 |                 self.skip_semicolon();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 308 |                 let _ = self.skip_semicolon();
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:564:9
[INFO] [stderr]     |
[INFO] [stderr] 564 |         self.skip_semicolon();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 564 |         let _ = self.skip_semicolon();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `Quotation_Tokens` should have an upper case name
[INFO] [stderr]    --> src/tokenizer.rs:345:8
[INFO] [stderr]     |
[INFO] [stderr] 345 | static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[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] 345 - static Quotation_Tokens: &[char] = &['\'', '"', '`'];
[INFO] [stderr] 345 + static QUOTATION_TOKENS: &[char] = &['\'', '"', '`'];
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `Known_Char_Tokens` should have an upper case name
[INFO] [stderr]    --> src/tokenizer.rs:346:8
[INFO] [stderr]     |
[INFO] [stderr] 346 | static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 346 - static Known_Char_Tokens: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stderr] 346 + static KNOWN_CHAR_TOKENS: &[char] = &['(', ')', '{', '}', '.', ';', ',', '*', '='];
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable `startIndex` should have a snake case name
[INFO] [stderr]    --> src/tokenizer.rs:360:17
[INFO] [stderr]     |
[INFO] [stderr] 360 |             let startIndex = self.current_index;
[INFO] [stderr]     |                 ^^^^^^^^^^ help: convert the identifier to snake case: `start_index`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_setScanMode` should have a snake case name
[INFO] [stderr]    --> src/tokenizer.rs:538:8
[INFO] [stderr]     |
[INFO] [stderr] 538 |     fn _setScanMode(&mut self, mode: &ScanMode) {
[INFO] [stderr]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `_set_scan_mode`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_resetScanMode` should have a snake case name
[INFO] [stderr]    --> src/tokenizer.rs:541:8
[INFO] [stderr]     |
[INFO] [stderr] 541 |     fn _resetScanMode(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_reset_scan_mode`
[INFO] [stderr] 
[INFO] [stderr] warning: `ast` (bin "ast" test) generated 22 warnings (run `cargo fix --bin "ast" -p ast --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ast-1dbdb42be681f566)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test __test__::parser_test::parser_test::test_assert ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_export_default_function_declaration ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_export_all_declaration ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_function ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_function_expression ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_nested_member_expression ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_member_expression ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_import_declaration ... ok
[INFO] [stdout] test __test__::parser_test::parser_test::test_variable_declaration ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_assert ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_default_import ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_console_log ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_export_default ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_expression ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_function ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_member_express ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_export_variables ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_named_export ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_named_import ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_namespace_import ... ok
[INFO] [stdout] test __test__::tokenizer_test::tests_tokenizer::test_number ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83", kill_on_drop: false }`
[INFO] [stdout] b4d72bdec70ad8cf07ec099eaa8f6e0b747de1d6a09372752e0887204bfcdd83
