[INFO] cloning repository https://github.com/elzimm-software/rlox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/elzimm-software/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felzimm-software%2Frlox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felzimm-software%2Frlox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e223e66a3de2b47c3283b1faa8210d33d9d671ad
[INFO] checking elzimm-software/rlox against try#63132bd615c9bf75e93af8405d00064212331708 for pr-153975
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felzimm-software%2Frlox" "/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/elzimm-software/rlox
[INFO] finished tweaking git repo https://github.com/elzimm-software/rlox
[INFO] tweaked toml for git repo https://github.com/elzimm-software/rlox written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/elzimm-software/rlox on toolchain 63132bd615c9bf75e93af8405d00064212331708
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+63132bd615c9bf75e93af8405d00064212331708" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/elzimm-software/rlox 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" "+63132bd615c9bf75e93af8405d00064212331708" "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-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+63132bd615c9bf75e93af8405d00064212331708" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8807b9a304bc7af021dd1cfbc9cb31024c6782e75d65aaf968914c981547aa94
[INFO] running `Command { std: "docker" "start" "-a" "8807b9a304bc7af021dd1cfbc9cb31024c6782e75d65aaf968914c981547aa94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8807b9a304bc7af021dd1cfbc9cb31024c6782e75d65aaf968914c981547aa94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8807b9a304bc7af021dd1cfbc9cb31024c6782e75d65aaf968914c981547aa94", kill_on_drop: false }`
[INFO] [stdout] 8807b9a304bc7af021dd1cfbc9cb31024c6782e75d65aaf968914c981547aa94
[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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+63132bd615c9bf75e93af8405d00064212331708" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7cb20c62467f8f8ac934dceb38e3798b05b9c80f3e0f6d0c1f2092a2c87c7e04
[INFO] running `Command { std: "docker" "start" "-a" "7cb20c62467f8f8ac934dceb38e3798b05b9c80f3e0f6d0c1f2092a2c87c7e04", kill_on_drop: false }`
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/expr/assign.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[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::Assign`, `call::Call`, `get::Get`, `logical::Logical`, `set::Set`, `spr::Super`, `ths::This`, and `variable::Variable`
[INFO] [stdout]   --> src/expr.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assign::Assign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     binary::Binary,
[INFO] [stdout] 30 |     call::Call,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     get::Get,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     logical::Logical,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     set::Set,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     spr::Super,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     ths::This,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     unary::Unary,
[INFO] [stdout] 39 |     variable::Variable
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scanner::utils::KEYWORDS`
[INFO] [stdout]  --> src/scanner/string.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::scanner::utils::KEYWORDS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDENTIFIER`
[INFO] [stdout]  --> src/scanner/string.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::token_type::TokenType::{IDENTIFIER, STRING};
[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:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     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:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     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:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     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:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     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:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     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:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     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:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::PartialEq`
[INFO] [stdout]  --> src/parser/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/parser/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/expr/assign.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     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]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/expr/call.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/get.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     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/expr/logical.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/set.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/spr.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     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/expr/ths.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     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/expr/variable.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     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: struct `Assign` is never constructed
[INFO] [stdout]  --> src/expr/assign.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Assign {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/assign.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Assign {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(name: Token, value: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Call` is never constructed
[INFO] [stdout]  --> src/expr/call.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Call {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/call.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Call {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(callee: Rc<dyn Expr>, paren: Token, arguments: Vec<Rc<dyn Expr>>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Get` is never constructed
[INFO] [stdout]  --> src/expr/get.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Get {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/get.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Get {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn from(object: Rc<dyn Expr>, name: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logical` is never constructed
[INFO] [stdout]  --> src/expr/logical.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Logical {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/logical.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Logical {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(left: Rc<dyn Expr>, operator: Token, right: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Set` is never constructed
[INFO] [stdout]  --> src/expr/set.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Set {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/set.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Set {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(object: Rc<dyn Expr>, name: Token, value: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Super` is never constructed
[INFO] [stdout]  --> src/expr/spr.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Super {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/spr.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Super {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn from(keyword: Token, method: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `This` is never constructed
[INFO] [stdout]  --> src/expr/ths.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct This {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/ths.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl This {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn from(keyword: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Variable` is never constructed
[INFO] [stdout]  --> src/expr/variable.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Variable {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/variable.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Variable {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn from(name: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `synchronize` is never used
[INFO] [stdout]   --> src/parser/utils.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub (super) fn synchronize(&mut self) {
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/expr/assign.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[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::Assign`, `call::Call`, `get::Get`, `logical::Logical`, `set::Set`, `spr::Super`, `ths::This`, and `variable::Variable`
[INFO] [stdout]   --> src/expr.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assign::Assign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     binary::Binary,
[INFO] [stdout] 30 |     call::Call,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     get::Get,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     logical::Logical,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     set::Set,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     spr::Super,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     ths::This,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     unary::Unary,
[INFO] [stdout] 39 |     variable::Variable
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scanner::utils::KEYWORDS`
[INFO] [stdout]  --> src/scanner/string.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::scanner::utils::KEYWORDS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDENTIFIER`
[INFO] [stdout]  --> src/scanner/string.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::token_type::TokenType::{IDENTIFIER, STRING};
[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:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     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:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     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:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     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:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     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:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     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:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     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:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::PartialEq`
[INFO] [stdout]  --> src/parser/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::PartialEq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/parser/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/expr/assign.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     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]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/expr/call.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/get.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     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/expr/logical.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/set.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |     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/expr/spr.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     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/expr/ths.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     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/expr/variable.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     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: struct `Assign` is never constructed
[INFO] [stdout]  --> src/expr/assign.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Assign {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/assign.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Assign {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(name: Token, value: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Call` is never constructed
[INFO] [stdout]  --> src/expr/call.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Call {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/call.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Call {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(callee: Rc<dyn Expr>, paren: Token, arguments: Vec<Rc<dyn Expr>>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Get` is never constructed
[INFO] [stdout]  --> src/expr/get.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Get {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/get.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Get {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn from(object: Rc<dyn Expr>, name: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logical` is never constructed
[INFO] [stdout]  --> src/expr/logical.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Logical {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/logical.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Logical {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(left: Rc<dyn Expr>, operator: Token, right: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Set` is never constructed
[INFO] [stdout]  --> src/expr/set.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Set {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/set.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Set {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn from(object: Rc<dyn Expr>, name: Token, value: Rc<dyn Expr>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Super` is never constructed
[INFO] [stdout]  --> src/expr/spr.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Super {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/spr.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Super {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn from(keyword: Token, method: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `This` is never constructed
[INFO] [stdout]  --> src/expr/ths.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct This {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/ths.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl This {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn from(keyword: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Variable` is never constructed
[INFO] [stdout]  --> src/expr/variable.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Variable {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]   --> src/expr/variable.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Variable {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn from(name: Token) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `synchronize` is never used
[INFO] [stdout]   --> src/parser/utils.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub (super) fn synchronize(&mut self) {
[INFO] [stdout]    |                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.00s
[INFO] running `Command { std: "docker" "inspect" "7cb20c62467f8f8ac934dceb38e3798b05b9c80f3e0f6d0c1f2092a2c87c7e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cb20c62467f8f8ac934dceb38e3798b05b9c80f3e0f6d0c1f2092a2c87c7e04", kill_on_drop: false }`
[INFO] [stdout] 7cb20c62467f8f8ac934dceb38e3798b05b9c80f3e0f6d0c1f2092a2c87c7e04
