[INFO] fetching crate arclight 0.0.1...
[INFO] checking arclight-0.0.1 against master#e59540968e0c6fc3c37d92a639b83fc8fcee5e81 for pr-114559
[INFO] extracting crate arclight 0.0.1 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate arclight 0.0.1 on toolchain e59540968e0c6fc3c37d92a639b83fc8fcee5e81
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e59540968e0c6fc3c37d92a639b83fc8fcee5e81" "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-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e59540968e0c6fc3c37d92a639b83fc8fcee5e81" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e59540968e0c6fc3c37d92a639b83fc8fcee5e81" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+e59540968e0c6fc3c37d92a639b83fc8fcee5e81" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2565914db0b30b5668ae84fade8c5c4fc1a30f595b37e8dac0c1ed9827f91928
[INFO] running `Command { std: "docker" "start" "-a" "2565914db0b30b5668ae84fade8c5c4fc1a30f595b37e8dac0c1ed9827f91928", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2565914db0b30b5668ae84fade8c5c4fc1a30f595b37e8dac0c1ed9827f91928", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2565914db0b30b5668ae84fade8c5c4fc1a30f595b37e8dac0c1ed9827f91928", kill_on_drop: false }`
[INFO] [stdout] 2565914db0b30b5668ae84fade8c5c4fc1a30f595b37e8dac0c1ed9827f91928
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+e59540968e0c6fc3c37d92a639b83fc8fcee5e81" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0b02c22e2bc1ddf07f33b94a4058b2b187f4658cc00457f94095b7ed1eeacca
[INFO] running `Command { std: "docker" "start" "-a" "c0b02c22e2bc1ddf07f33b94a4058b2b187f4658cc00457f94095b7ed1eeacca", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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: 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: 26 warnings emitted
[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: 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: `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: `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: 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: 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: 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] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.18s
[INFO] running `Command { std: "docker" "inspect" "c0b02c22e2bc1ddf07f33b94a4058b2b187f4658cc00457f94095b7ed1eeacca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0b02c22e2bc1ddf07f33b94a4058b2b187f4658cc00457f94095b7ed1eeacca", kill_on_drop: false }`
[INFO] [stdout] c0b02c22e2bc1ddf07f33b94a4058b2b187f4658cc00457f94095b7ed1eeacca
