[INFO] cloning repository https://github.com/qiaojinxia/StanfordCompilers-priciples
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qiaojinxia/StanfordCompilers-priciples" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqiaojinxia%2FStanfordCompilers-priciples", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqiaojinxia%2FStanfordCompilers-priciples'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6848bb99d35073a3b3e7304f990defbc79916a74
[INFO] checking qiaojinxia/StanfordCompilers-priciples against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqiaojinxia%2FStanfordCompilers-priciples" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/qiaojinxia/StanfordCompilers-priciples
[INFO] finished tweaking git repo https://github.com/qiaojinxia/StanfordCompilers-priciples
[INFO] tweaked toml for git repo https://github.com/qiaojinxia/StanfordCompilers-priciples written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qiaojinxia/StanfordCompilers-priciples on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/qiaojinxia/StanfordCompilers-priciples 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] abbdcebf88f2c6a57d9aecaf53eaee436edbabc76fe03af7244d0f665d435a9a
[INFO] running `Command { std: "docker" "start" "-a" "abbdcebf88f2c6a57d9aecaf53eaee436edbabc76fe03af7244d0f665d435a9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "abbdcebf88f2c6a57d9aecaf53eaee436edbabc76fe03af7244d0f665d435a9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abbdcebf88f2c6a57d9aecaf53eaee436edbabc76fe03af7244d0f665d435a9a", kill_on_drop: false }`
[INFO] [stdout] abbdcebf88f2c6a57d9aecaf53eaee436edbabc76fe03af7244d0f665d435a9a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 97a714ecadebb51923aa209914fe45672e3b7b61019a4e2f6250fd0c5a49ffd3
[INFO] running `Command { std: "docker" "start" "-a" "97a714ecadebb51923aa209914fe45672e3b7b61019a4e2f6250fd0c5a49ffd3", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking StanfordCompilers-priciples v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ASSIGN`, `ASTERISK`, `MINUS`, `PLUS`, and `SLASH`
[INFO] [stdout]  --> src/lexers.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::define::TokenType::{ASSIGN, ASTERISK, EOF, ID, KEYWORDS, LPAREN, MINUS, NUM, PLUS, RPAREN, SEMICOLON, SLASH, LBRACES, RBRACES};
[INFO] [stdout]   |                                ^^^^^^  ^^^^^^^^                             ^^^^^       ^^^^                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASSIGN`, `ASTERISK`, `MINUS`, `PLUS`, and `SLASH`
[INFO] [stdout]  --> src/lexers.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::define::TokenType::{ASSIGN, ASTERISK, EOF, ID, KEYWORDS, LPAREN, MINUS, NUM, PLUS, RPAREN, SEMICOLON, SLASH, LBRACES, RBRACES};
[INFO] [stdout]   |                                ^^^^^^  ^^^^^^^^                             ^^^^^       ^^^^                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/parse.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) fn func_parser_if(parser: &mut Parser) -> Option<Box<dyn S>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `curr_token` is never read
[INFO] [stdout]   --> src/parse.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TokenScaner {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] 10 |     scan_token: usize,
[INFO] [stdout] 11 |     curr_token: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenScaner` has a derived impl for the trait `Debug`, but this is 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: struct `Strings` is never constructed
[INFO] [stdout]   --> src/ast.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Strings {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ast.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Strings {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 54 |     pub(crate) fn new() -> Strings {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayExpress` is never constructed
[INFO] [stdout]    --> src/ast.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ArrayExpress {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStatement` is never constructed
[INFO] [stdout]    --> src/ast.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct BlockStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test` and `alternate` are never read
[INFO] [stdout]    --> src/ast.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct IfStatement{
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 135 |     pub(crate) test:Option<Box<dyn E>>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 136 |     pub(crate) alternate:Option<Box<dyn S>>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MINUS`, `OPERATOR`, and `WHITESPACE` are never constructed
[INFO] [stdout]   --> src/define.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     MINUS,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     OPERATOR,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     WHITESPACE,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `StanfordCompilers-priciples` (bin "StanfordCompilers-priciples") due to 1 previous error; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `StanfordCompilers-priciples` (bin "StanfordCompilers-priciples" test) due to 1 previous error; 17 warnings emitted
[INFO] [stdout] warning: variants `Float` and `Strings` are never constructed
[INFO] [stdout]    --> src/define.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum NType {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 104 |     Float,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 105 |     Strings,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NType` 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: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lexers.rs:79:69
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         tokens.push(Token::form(cur_line, NUM, &CODE.clone()[index..lookup - 1]));
[INFO] [stdout]    |                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lexers.rs:88:47
[INFO] [stdout]    |
[INFO] [stdout] 88 |                         let temp_token = &CODE.clone()[index..lookup - 1];
[INFO] [stdout]    |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lexers.rs:103:68
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         tokens.push(Token::form(cur_line, ID, &CODE.clone()[index ..lookup -1]));
[INFO] [stdout]     |                                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `leftE` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn(_: &mut Parser, leftE: Option<Box<dyn E>>) -> Option<Box<dyn E>>;
[INFO] [stdout]    |                        ^^^^^ help: convert the identifier to snake case: `left_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/parse.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         name: token.literal.parse().unwrap(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/parse.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) fn func_parser_if(parser: &mut Parser) -> Option<Box<dyn S>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/ast.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `curr_token` is never read
[INFO] [stdout]   --> src/parse.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct TokenScaner {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] 10 |     scan_token: usize,
[INFO] [stdout] 11 |     curr_token: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenScaner` has a derived impl for the trait `Debug`, but this is 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: struct `Strings` is never constructed
[INFO] [stdout]   --> src/ast.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Strings {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ast.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Strings {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 54 |     pub(crate) fn new() -> Strings {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayExpress` is never constructed
[INFO] [stdout]    --> src/ast.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ArrayExpress {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStatement` is never constructed
[INFO] [stdout]    --> src/ast.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct BlockStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test` and `alternate` are never read
[INFO] [stdout]    --> src/ast.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct IfStatement{
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 135 |     pub(crate) test:Option<Box<dyn E>>,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 136 |     pub(crate) alternate:Option<Box<dyn S>>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MINUS`, `OPERATOR`, and `WHITESPACE` are never constructed
[INFO] [stdout]   --> src/define.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum TokenType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     MINUS,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     OPERATOR,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     WHITESPACE,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` 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: variants `Float` and `Strings` are never constructed
[INFO] [stdout]    --> src/define.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum NType {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 104 |     Float,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 105 |     Strings,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NType` 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: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lexers.rs:79:69
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         tokens.push(Token::form(cur_line, NUM, &CODE.clone()[index..lookup - 1]));
[INFO] [stdout]    |                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/lexers.rs:88:47
[INFO] [stdout]    |
[INFO] [stdout] 88 |                         let temp_token = &CODE.clone()[index..lookup - 1];
[INFO] [stdout]    |                                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lexers.rs:103:68
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         tokens.push(Token::form(cur_line, ID, &CODE.clone()[index ..lookup -1]));
[INFO] [stdout]     |                                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `leftE` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn(_: &mut Parser, leftE: Option<Box<dyn E>>) -> Option<Box<dyn E>>;
[INFO] [stdout]    |                        ^^^^^ help: convert the identifier to snake case: `left_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> src/parse.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         name: token.literal.parse().unwrap(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "97a714ecadebb51923aa209914fe45672e3b7b61019a4e2f6250fd0c5a49ffd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97a714ecadebb51923aa209914fe45672e3b7b61019a4e2f6250fd0c5a49ffd3", kill_on_drop: false }`
[INFO] [stdout] 97a714ecadebb51923aa209914fe45672e3b7b61019a4e2f6250fd0c5a49ffd3
