[INFO] fetching crate arclight 0.0.1...
[INFO] checking arclight-0.0.1 against try#8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f for pr-114559
[INFO] extracting crate arclight 0.0.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate arclight 0.0.1 on toolchain 8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate arclight 0.0.1
[INFO] finished tweaking crates.io crate arclight 0.0.1
[INFO] tweaked toml for crates.io crate arclight 0.0.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e825730638e5edccb5719996688a03ce284ada2711274bb7c80589f0b48202ac
[INFO] running `Command { std: "docker" "start" "-a" "e825730638e5edccb5719996688a03ce284ada2711274bb7c80589f0b48202ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e825730638e5edccb5719996688a03ce284ada2711274bb7c80589f0b48202ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e825730638e5edccb5719996688a03ce284ada2711274bb7c80589f0b48202ac", kill_on_drop: false }`
[INFO] [stdout] e825730638e5edccb5719996688a03ce284ada2711274bb7c80589f0b48202ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 78b33ec53895bd3b3ee6a57494c1a81423c83f0c58a0e853eb5dd170b1c04dae
[INFO] running `Command { std: "docker" "start" "-a" "78b33ec53895bd3b3ee6a57494c1a81423c83f0c58a0e853eb5dd170b1c04dae", kill_on_drop: false }`
[INFO] [stderr]     Checking arclight v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_token` is never used
[INFO] [stdout]    --> src/Parser.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Tokens {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn push_token(&mut self, token: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/Element.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Element {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     fn new(token: String) -> Element {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArclightSyntaxTree` is never constructed
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ArclightSyntaxTree {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ArclightSyntaxTree.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ArclightSyntaxTree {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn new() -> ArclightSyntaxTree {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Parser;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Element` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Element;
[INFO] [stdout]   |         ^^^^^^^ help: convert the identifier to snake case: `element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ArclightSyntaxTree` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ArclightSyntaxTree;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `arclight_syntax_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/Parser.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let actual = parse("a b");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/Element.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Element {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     fn new(token: String) -> Element {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArclightSyntaxTree` is never constructed
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ArclightSyntaxTree {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ArclightSyntaxTree.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ArclightSyntaxTree {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn new() -> ArclightSyntaxTree {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Parser;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Element` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Element;
[INFO] [stdout]   |         ^^^^^^^ help: convert the identifier to snake case: `element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ArclightSyntaxTree` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ArclightSyntaxTree;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `arclight_syntax_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blah`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let blah = Parser::parse(&contents);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_blah`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/Parser.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let actual = parse("a b");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blah`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let blah = Parser::parse(&contents);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_blah`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_token` is never used
[INFO] [stdout]    --> src/Parser.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Tokens {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn push_token(&mut self, token: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Parser;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Parser;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.10s
[INFO] running `Command { std: "docker" "inspect" "78b33ec53895bd3b3ee6a57494c1a81423c83f0c58a0e853eb5dd170b1c04dae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78b33ec53895bd3b3ee6a57494c1a81423c83f0c58a0e853eb5dd170b1c04dae", kill_on_drop: false }`
[INFO] [stdout] 78b33ec53895bd3b3ee6a57494c1a81423c83f0c58a0e853eb5dd170b1c04dae
