[INFO] cloning repository https://github.com/gregorioD/rustox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gregorioD/rustox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgregorioD%2Frustox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgregorioD%2Frustox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] de3131b4398119c47d66e576c533b09ee25295b1
[INFO] checking gregorioD/rustox against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgregorioD%2Frustox" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gregorioD/rustox
[INFO] finished tweaking git repo https://github.com/gregorioD/rustox
[INFO] tweaked toml for git repo https://github.com/gregorioD/rustox written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gregorioD/rustox on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gregorioD/rustox 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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625
[INFO] running `Command { std: "docker" "start" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking rustox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/expression.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Display;
[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: `expression::Expression` and `token::Token`
[INFO] [stdout]  --> src/lox.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{expression::Expression, parser::Parser, scanner::Scanner, token::Token};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LEFT_PAREN,
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     RIGHT_PAREN,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     LEFT_BRACE,
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     RIGHT_BRACE,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     BANG_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     EQUAL_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     GREATER_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/scanner.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn substring(&self, start: usize, end: usize) -> String {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/scanner.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn substring(&self, start: usize, end: usize) -> String {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `message` is never used
[INFO] [stdout]   --> src/error.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Error {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn message(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left` and `expression` are never read
[INFO] [stdout]  --> src/expression.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Unary {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 6 |     left: Token,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     expression: Box<Expression>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left`, `operator`, and `right` are never read
[INFO] [stdout]   --> src/expression.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Binary {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 34 |     left: Box<Expression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     operator: Operator,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     right: Box<Expression>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Binary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_brace`, `expression`, and `rigth_brace` are never read
[INFO] [stdout]   --> src/expression.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Grouping {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 51 |     left_brace: char,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 52 |     expression: Box<Expression>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     rigth_brace: char,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Grouping` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/expression.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Operator {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 68 |     token: Token,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `literal_expression` is never read
[INFO] [stdout]   --> src/expression.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct LiteralExp {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 94 |     literal_expression: Token,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LiteralExp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     LiteralExp(LiteralExp),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 135 -     LiteralExp(LiteralExp),
[INFO] [stdout] 135 +     LiteralExp(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |     Unary(Unary),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 136 -     Unary(Unary),
[INFO] [stdout] 136 +     Unary(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Binary(Binary),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 137 -     Binary(Binary),
[INFO] [stdout] 137 +     Binary(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Grouping(Grouping),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 138 -     Grouping(Grouping),
[INFO] [stdout] 138 +     Grouping(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Operator` is never constructed
[INFO] [stdout]    --> src/expression.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 139 |     Operator(Operator),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string` is never used
[INFO] [stdout]    --> src/scanner.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Scanner {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn string(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]   --> src/token.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Literal {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] 15 |     String(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Literal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `synchronize` is never used
[INFO] [stdout]   --> src/parser.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn synchronize(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lox.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             self.run_prompt();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let _ = self.run_prompt();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addToken` should have a snake case name
[INFO] [stdout]    --> src/scanner.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn addToken(&mut self, token_type: TokenType, literal: Option<Literal>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `add_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/expression.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Display;
[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: `expression::Expression` and `token::Token`
[INFO] [stdout]  --> src/lox.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{expression::Expression, parser::Parser, scanner::Scanner, token::Token};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     LEFT_PAREN,
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     RIGHT_PAREN,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     LEFT_BRACE,
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]  --> src/token_type.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     RIGHT_BRACE,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     BANG_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     EQUAL_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     GREATER_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/token_type.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/scanner.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn substring(&self, start: usize, end: usize) -> String {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]   --> src/scanner.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn substring(&self, start: usize, end: usize) -> String {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `message` is never used
[INFO] [stdout]   --> src/error.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Error {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn message(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left` and `expression` are never read
[INFO] [stdout]  --> src/expression.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Unary {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 6 |     left: Token,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     expression: Box<Expression>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left`, `operator`, and `right` are never read
[INFO] [stdout]   --> src/expression.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Binary {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 34 |     left: Box<Expression>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     operator: Operator,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     right: Box<Expression>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Binary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_brace`, `expression`, and `rigth_brace` are never read
[INFO] [stdout]   --> src/expression.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Grouping {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 51 |     left_brace: char,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 52 |     expression: Box<Expression>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 53 |     rigth_brace: char,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Grouping` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/expression.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Operator {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 68 |     token: Token,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `literal_expression` is never read
[INFO] [stdout]   --> src/expression.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct LiteralExp {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 94 |     literal_expression: Token,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LiteralExp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     LiteralExp(LiteralExp),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 135 -     LiteralExp(LiteralExp),
[INFO] [stdout] 135 +     LiteralExp(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |     Unary(Unary),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 136 -     Unary(Unary),
[INFO] [stdout] 136 +     Unary(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     Binary(Binary),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 137 -     Binary(Binary),
[INFO] [stdout] 137 +     Binary(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/expression.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     Grouping(Grouping),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 138 -     Grouping(Grouping),
[INFO] [stdout] 138 +     Grouping(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Operator` is never constructed
[INFO] [stdout]    --> src/expression.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Expression {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 139 |     Operator(Operator),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string` is never used
[INFO] [stdout]    --> src/scanner.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Scanner {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn string(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]   --> src/token.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Literal {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] 15 |     String(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Literal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `synchronize` is never used
[INFO] [stdout]   --> src/parser.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn synchronize(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lox.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |             self.run_prompt();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let _ = self.run_prompt();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `addToken` should have a snake case name
[INFO] [stdout]    --> src/scanner.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn addToken(&mut self, token_type: TokenType, literal: Option<Literal>) {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `add_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] running `Command { std: "docker" "inspect" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625", kill_on_drop: false }`
[INFO] [stdout] a0040673f4c806b3c102730cc02ce492c89312597a5b48231a9b59dc63b74625
