[INFO] cloning repository https://github.com/sifear/rlox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sifear/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsifear%2Frlox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsifear%2Frlox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e6f665a299483e3300b3c60b35c24cf07e00343a
[INFO] testing sifear/rlox against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsifear%2Frlox" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sifear/rlox
[INFO] finished tweaking git repo https://github.com/sifear/rlox
[INFO] tweaked toml for git repo https://github.com/sifear/rlox written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sifear/rlox on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sifear/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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6044802bfaacbdfba3f88fd157eee593d856424d90cd62eb6e1b515f01d892af
[INFO] running `Command { std: "docker" "start" "-a" "6044802bfaacbdfba3f88fd157eee593d856424d90cd62eb6e1b515f01d892af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6044802bfaacbdfba3f88fd157eee593d856424d90cd62eb6e1b515f01d892af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6044802bfaacbdfba3f88fd157eee593d856424d90cd62eb6e1b515f01d892af", kill_on_drop: false }`
[INFO] [stdout] 6044802bfaacbdfba3f88fd157eee593d856424d90cd62eb6e1b515f01d892af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d62b370ae04fe86dff9da7a4b4b88ba4e32df741e47b0f6a9ccc4d7b8b5e3b4
[INFO] running `Command { std: "docker" "start" "-a" "8d62b370ae04fe86dff9da7a4b4b88ba4e32df741e47b0f6a9ccc4d7b8b5e3b4", kill_on_drop: false }`
[INFO] [stderr]    Compiling rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `read_dir`
[INFO] [stdout]  --> src/dispatch.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{read_dir, File};
[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: `ReadDir` and `self`
[INFO] [stdout]   --> src/dispatch.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |     use std::fs::{self, ReadDir};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::run_file`
[INFO] [stdout]   --> src/dispatch.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use super::run_file;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/parser.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `ops::DerefMut`
[INFO] [stdout]   --> src/parser/expression.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeId`
[INFO] [stdout]  --> src/parser/statement.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]   --> src/parser/statement.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{borrow::BorrowMut, cell::RefCell, collections::HashMap};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter`, `mem`, and `result`
[INFO] [stdout]   --> src/parser/statement.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{iter, mem, result};
[INFO] [stdout]    |           ^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/environment.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]   --> src/parser/expression.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/expression.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 | ...                   Some(mut fun) => {
[INFO] [stdout]     |                            ----^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/expression.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parser/expression.rs:294:34
[INFO] [stdout]     |
[INFO] [stdout] 294 |             Literal::FnObject(a, b) => format!("fn object {}", a),
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/expression.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/parser/statement.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |             if let Some(call) = initializer.downcast_ref::<Call>() {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Callable`
[INFO] [stdout]    --> src/parser/statement.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Callable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser/statement.rs:284:39
[INFO] [stdout]     |
[INFO] [stdout] 284 |                     Literal::FnObject(name, b) => {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/parser/statement.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 Err(err) => {}
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/statement.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:392:9
[INFO] [stdout]     |
[INFO] [stdout] 392 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/statement.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(token) => return self.var_declaration(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Some(token) => return self.fun_declaration(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Some(token) => return self.if_statement(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:168:18
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:182:18
[INFO] [stdout]     |
[INFO] [stdout] 182 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `semi`
[INFO] [stdout]    --> src/parser.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let semi = self.consume(&TokenType::Semicolon);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_semi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Some(token) => None,
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:243:22
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 Some(token) => {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/parser.rs:631:18
[INFO] [stdout]     |
[INFO] [stdout] 631 |             Some(pos) => return Result::Ok(Rc::new(Empty {})),
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/parser.rs:966:16
[INFO] [stdout]     |
[INFO] [stdout] 966 |             Ok(expr) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:970:30
[INFO] [stdout]     |
[INFO] [stdout] 970 |                         Some(token) => {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]     --> src/parser.rs:1064:18
[INFO] [stdout]      |
[INFO] [stdout] 1064 |             Some(a) => {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/parser.rs:1074:30
[INFO] [stdout]      |
[INFO] [stdout] 1074 |                         Some(token) => {
[INFO] [stdout]      |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_number`
[INFO] [stdout]     --> src/parser.rs:1221:11
[INFO] [stdout]      |
[INFO] [stdout] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stdout]      |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]     --> src/parser.rs:1221:29
[INFO] [stdout]      |
[INFO] [stdout] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/environment.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Some(val) => {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/environment.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Literal::FnObject(name, fn_obj) => return Some(fn_obj.clone()),
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/scanner.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn scan_tokens(&mut self, start: i32) -> Result<Vec<Token>, &'static str> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/runtime_error.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stdout]     |             ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 131 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/runtime_error.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stdout]     |             ------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 147 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/interpreter.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 Ok(value) => {}
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is` is never used
[INFO] [stdout]   --> src/parser/expression.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl dyn Expr {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 30 |     // Helper method to check the type
[INFO] [stdout] 31 |     fn is<T: Any>(&self) -> bool {
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/parser/method.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Callable {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BinaryMissingLHS` and `ExpectedIdentifierForFunc` are never constructed
[INFO] [stdout]   --> src/parser/parser_error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum ParserErrorType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     BinaryMissingLHS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     ExpectedIdentifierForFunc,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorType` 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: method `is` is never used
[INFO] [stdout]   --> src/parser/statement.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl dyn Statement {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 24 |     // Helper method to check the type
[INFO] [stdout] 25 |     fn is<T: Any>(&self) -> bool {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ls` is never used
[INFO] [stdout]    --> src/environment.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Environment {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn ls(&self) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_errors` is never read
[INFO] [stdout]   --> src/scanner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Scanner<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     had_errors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/scanner/token.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Token {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ComparisonInvalidOperator`, `ArithmeticInvalidOperator`, `IdentifierExpedcted`, `InvalidAssignmentTarget`, and `UnexpextedBreakStatement` are never constructed
[INFO] [stdout]   --> src/interpreter/runtime_error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum RuntimeErrorType {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     ComparisonInvalidOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     ArithmeticInvalidOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     IdentifierExpedcted,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     InvalidAssignmentTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     UnexpextedBreakStatement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser {
[INFO] [stdout]    |                        ^^^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         self.consume(&TokenType::Semicolon);
[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] 277 |         let _ = self.consume(&TokenType::Semicolon);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |             self.consume(&TokenType::Else);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 433 |             let _ = self.consume(&TokenType::Else);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         self.consume(&TokenType::RightParen);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let _ = self.consume(&TokenType::RightParen);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 569 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:624:13
[INFO] [stdout]     |
[INFO] [stdout] 624 |             self.consume(&TokenType::LeftParen);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 624 |             let _ = self.consume(&TokenType::LeftParen);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |         self.consume(&TokenType::Equal);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let _ = self.consume(&TokenType::Equal);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:707:9
[INFO] [stdout]     |
[INFO] [stdout] 707 |         self.consume(&TokenType::Greater);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let _ = self.consume(&TokenType::Greater);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Callable` should have a snake case name
[INFO] [stdout]    --> src/parser/statement.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stdout]     |                         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `callable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(source: &String) -> Scanner {
[INFO] [stdout]    |                        ^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(source: &String) -> Scanner<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.12s
[INFO] running `Command { std: "docker" "inspect" "8d62b370ae04fe86dff9da7a4b4b88ba4e32df741e47b0f6a9ccc4d7b8b5e3b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d62b370ae04fe86dff9da7a4b4b88ba4e32df741e47b0f6a9ccc4d7b8b5e3b4", kill_on_drop: false }`
[INFO] [stdout] 8d62b370ae04fe86dff9da7a4b4b88ba4e32df741e47b0f6a9ccc4d7b8b5e3b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3b18671c6c854b736b195c92bb7d6b4d13a228e65d778e8086c840a540650f8
[INFO] running `Command { std: "docker" "start" "-a" "f3b18671c6c854b736b195c92bb7d6b4d13a228e65d778e8086c840a540650f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `read_dir`
[INFO] [stdout]  --> src/dispatch.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{read_dir, File};
[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: `ReadDir` and `self`
[INFO] [stdout]   --> src/dispatch.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 |     use std::fs::{self, ReadDir};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/parser.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `ops::DerefMut`
[INFO] [stdout]   --> src/parser/expression.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeId`
[INFO] [stdout]  --> src/parser/statement.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::any::{Any, TypeId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]   --> src/parser/statement.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{borrow::BorrowMut, cell::RefCell, collections::HashMap};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `iter`, `mem`, and `result`
[INFO] [stdout]   --> src/parser/statement.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{iter, mem, result};
[INFO] [stdout]    |           ^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/environment.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]   --> src/parser/expression.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/expression.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 | ...                   Some(mut fun) => {
[INFO] [stdout]     |                            ----^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/expression.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parser/expression.rs:294:34
[INFO] [stdout]     |
[INFO] [stdout] 294 |             Literal::FnObject(a, b) => format!("fn object {}", a),
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/expression.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/expression.rs:491:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/parser/statement.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |             if let Some(call) = initializer.downcast_ref::<Call>() {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Callable`
[INFO] [stdout]    --> src/parser/statement.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Callable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser/statement.rs:284:39
[INFO] [stdout]     |
[INFO] [stdout] 284 |                     Literal::FnObject(name, b) => {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/parser/statement.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 Err(err) => {}
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/statement.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:392:9
[INFO] [stdout]     |
[INFO] [stdout] 392 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/parser/statement.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |         env: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result_buffer`
[INFO] [stdout]    --> src/parser/statement.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |         result_buffer: &mut String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(token) => return self.var_declaration(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Some(token) => return self.fun_declaration(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Some(token) => return self.if_statement(),
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:168:18
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:182:18
[INFO] [stdout]     |
[INFO] [stdout] 182 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `semi`
[INFO] [stdout]    --> src/parser.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let semi = self.consume(&TokenType::Semicolon);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_semi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Some(token) => None,
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:243:22
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 Some(token) => {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |             Some(token) => {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/parser.rs:631:18
[INFO] [stdout]     |
[INFO] [stdout] 631 |             Some(pos) => return Result::Ok(Rc::new(Empty {})),
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/parser.rs:966:16
[INFO] [stdout]     |
[INFO] [stdout] 966 |             Ok(expr) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:970:30
[INFO] [stdout]     |
[INFO] [stdout] 970 |                         Some(token) => {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]     --> src/parser.rs:1064:18
[INFO] [stdout]      |
[INFO] [stdout] 1064 |             Some(a) => {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/parser.rs:1074:30
[INFO] [stdout]      |
[INFO] [stdout] 1074 |                         Some(token) => {
[INFO] [stdout]      |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_number`
[INFO] [stdout]     --> src/parser.rs:1221:11
[INFO] [stdout]      |
[INFO] [stdout] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stdout]      |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]     --> src/parser.rs:1221:29
[INFO] [stdout]      |
[INFO] [stdout] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/environment.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Some(val) => {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/environment.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Literal::FnObject(name, fn_obj) => return Some(fn_obj.clone()),
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/scanner.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn scan_tokens(&mut self, start: i32) -> Result<Vec<Token>, &'static str> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/runtime_error.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stdout]     |             ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 131 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/runtime_error.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stdout]     |             ------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 147 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/interpreter.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 Ok(value) => {}
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is` is never used
[INFO] [stdout]   --> src/parser/expression.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl dyn Expr {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 30 |     // Helper method to check the type
[INFO] [stdout] 31 |     fn is<T: Any>(&self) -> bool {
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/parser/method.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Callable {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BinaryMissingLHS` and `ExpectedIdentifierForFunc` are never constructed
[INFO] [stdout]   --> src/parser/parser_error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum ParserErrorType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     BinaryMissingLHS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     ExpectedIdentifierForFunc,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorType` 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: method `is` is never used
[INFO] [stdout]   --> src/parser/statement.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl dyn Statement {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 24 |     // Helper method to check the type
[INFO] [stdout] 25 |     fn is<T: Any>(&self) -> bool {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ls` is never used
[INFO] [stdout]    --> src/environment.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Environment {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn ls(&self) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `had_errors` is never read
[INFO] [stdout]   --> src/scanner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Scanner<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     had_errors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/scanner/token.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Token {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ComparisonInvalidOperator`, `ArithmeticInvalidOperator`, `IdentifierExpedcted`, `InvalidAssignmentTarget`, and `UnexpextedBreakStatement` are never constructed
[INFO] [stdout]   --> src/interpreter/runtime_error.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum RuntimeErrorType {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     ComparisonInvalidOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     ArithmeticInvalidOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     IdentifierExpedcted,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     InvalidAssignmentTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     UnexpextedBreakStatement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser {
[INFO] [stdout]    |                        ^^^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:277:9
[INFO] [stdout]     |
[INFO] [stdout] 277 |         self.consume(&TokenType::Semicolon);
[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] 277 |         let _ = self.consume(&TokenType::Semicolon);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |             self.consume(&TokenType::Else);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 433 |             let _ = self.consume(&TokenType::Else);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |         self.consume(&TokenType::RightParen);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let _ = self.consume(&TokenType::RightParen);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |         self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 569 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:624:13
[INFO] [stdout]     |
[INFO] [stdout] 624 |             self.consume(&TokenType::LeftParen);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 624 |             let _ = self.consume(&TokenType::LeftParen);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 |         self.consume(&TokenType::Equal);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let _ = self.consume(&TokenType::Equal);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:707:9
[INFO] [stdout]     |
[INFO] [stdout] 707 |         self.consume(&TokenType::Greater);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let _ = self.consume(&TokenType::Greater);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/parser.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Callable` should have a snake case name
[INFO] [stdout]    --> src/parser/statement.rs:276:25
[INFO] [stdout]     |
[INFO] [stdout] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stdout]     |                         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `callable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(source: &String) -> Scanner {
[INFO] [stdout]    |                        ^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(source: &String) -> Scanner<'_> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.14s
[INFO] running `Command { std: "docker" "inspect" "f3b18671c6c854b736b195c92bb7d6b4d13a228e65d778e8086c840a540650f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3b18671c6c854b736b195c92bb7d6b4d13a228e65d778e8086c840a540650f8", kill_on_drop: false }`
[INFO] [stdout] f3b18671c6c854b736b195c92bb7d6b4d13a228e65d778e8086c840a540650f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 20ba758973f062ab122b12b9c7023b2f6f49570a3ffc5cdc358607ba7b4d1f74
[INFO] running `Command { std: "docker" "start" "-a" "20ba758973f062ab122b12b9c7023b2f6f49570a3ffc5cdc358607ba7b4d1f74", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `read_dir`
[INFO] [stderr]  --> src/dispatch.rs:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs::{read_dir, File};
[INFO] [stderr]   |               ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReadDir` and `self`
[INFO] [stderr]   --> src/dispatch.rs:51:19
[INFO] [stderr]    |
[INFO] [stderr] 51 |     use std::fs::{self, ReadDir};
[INFO] [stderr]    |                   ^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Any` and `TypeId`
[INFO] [stderr]  --> src/parser.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::any::{Any, TypeId};
[INFO] [stderr]   |                ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::HashMap` and `ops::DerefMut`
[INFO] [stderr]   --> src/parser/expression.rs:13:49
[INFO] [stderr]    |
[INFO] [stderr] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypeId`
[INFO] [stderr]  --> src/parser/statement.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::any::{Any, TypeId};
[INFO] [stderr]   |                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `borrow::BorrowMut`
[INFO] [stderr]   --> src/parser/statement.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::{borrow::BorrowMut, cell::RefCell, collections::HashMap};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `iter`, `mem`, and `result`
[INFO] [stderr]   --> src/parser/statement.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::{iter, mem, result};
[INFO] [stderr]    |           ^^^^  ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stderr]  --> src/environment.rs:5:16
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ops::{Deref, DerefMut};
[INFO] [stderr]   |                ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `borrow::BorrowMut`
[INFO] [stderr]   --> src/parser/expression.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |     any::Any, borrow::BorrowMut, cell::RefCell, collections::HashMap, ops::DerefMut, rc::Rc,
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser/expression.rs:171:34
[INFO] [stderr]     |
[INFO] [stderr] 171 | ...                   Some(mut fun) => {
[INFO] [stderr]     |                            ----^^^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/parser/expression.rs:240:9
[INFO] [stderr]     |
[INFO] [stderr] 240 |         env: Rc<RefCell<Environment>>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/expression.rs:241:9
[INFO] [stderr]     |
[INFO] [stderr] 241 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/parser/expression.rs:294:34
[INFO] [stderr]     |
[INFO] [stderr] 294 |             Literal::FnObject(a, b) => format!("fn object {}", a),
[INFO] [stderr]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/parser/expression.rs:301:9
[INFO] [stderr]     |
[INFO] [stderr] 301 |         env: Rc<RefCell<Environment>>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/expression.rs:302:9
[INFO] [stderr]     |
[INFO] [stderr] 302 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/expression.rs:491:9
[INFO] [stderr]     |
[INFO] [stderr] 491 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `call`
[INFO] [stderr]    --> src/parser/statement.rs:270:25
[INFO] [stderr]     |
[INFO] [stderr] 270 |             if let Some(call) = initializer.downcast_ref::<Call>() {
[INFO] [stderr]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Callable`
[INFO] [stderr]    --> src/parser/statement.rs:276:25
[INFO] [stderr]     |
[INFO] [stderr] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Callable`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/parser/statement.rs:284:39
[INFO] [stderr]     |
[INFO] [stderr] 284 |                     Literal::FnObject(name, b) => {
[INFO] [stderr]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/statement.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 300 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/parser/statement.rs:372:21
[INFO] [stderr]     |
[INFO] [stderr] 372 |                 Err(err) => {}
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/parser/statement.rs:391:9
[INFO] [stderr]     |
[INFO] [stderr] 391 |         env: Rc<RefCell<Environment>>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/statement.rs:392:9
[INFO] [stderr]     |
[INFO] [stderr] 392 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/parser/statement.rs:411:9
[INFO] [stderr]     |
[INFO] [stderr] 411 |         env: Rc<RefCell<Environment>>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result_buffer`
[INFO] [stderr]    --> src/parser/statement.rs:412:9
[INFO] [stderr]     |
[INFO] [stderr] 412 |         result_buffer: &mut String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:109:18
[INFO] [stderr]     |
[INFO] [stderr] 109 |             Some(token) => return self.var_declaration(),
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:114:18
[INFO] [stderr]     |
[INFO] [stderr] 114 |             Some(token) => return self.fun_declaration(),
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:119:18
[INFO] [stderr]     |
[INFO] [stderr] 119 |             Some(token) => return self.if_statement(),
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:124:18
[INFO] [stderr]     |
[INFO] [stderr] 124 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:135:18
[INFO] [stderr]     |
[INFO] [stderr] 135 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr] 146 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:157:18
[INFO] [stderr]     |
[INFO] [stderr] 157 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:168:18
[INFO] [stderr]     |
[INFO] [stderr] 168 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:182:18
[INFO] [stderr]     |
[INFO] [stderr] 182 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `semi`
[INFO] [stderr]    --> src/parser.rs:190:21
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 let semi = self.consume(&TokenType::Semicolon);
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_semi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:241:18
[INFO] [stderr]     |
[INFO] [stderr] 241 |             Some(token) => None,
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:243:22
[INFO] [stderr]     |
[INFO] [stderr] 243 |                 Some(token) => {
[INFO] [stderr]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:496:18
[INFO] [stderr]     |
[INFO] [stderr] 496 |             Some(token) => {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/parser.rs:631:18
[INFO] [stderr]     |
[INFO] [stderr] 631 |             Some(pos) => return Result::Ok(Rc::new(Empty {})),
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]    --> src/parser.rs:966:16
[INFO] [stderr]     |
[INFO] [stderr] 966 |             Ok(expr) => {
[INFO] [stderr]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]    --> src/parser.rs:970:30
[INFO] [stderr]     |
[INFO] [stderr] 970 |                         Some(token) => {
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]     --> src/parser.rs:1064:18
[INFO] [stderr]      |
[INFO] [stderr] 1064 |             Some(a) => {
[INFO] [stderr]      |                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token`
[INFO] [stderr]     --> src/parser.rs:1074:30
[INFO] [stderr]      |
[INFO] [stderr] 1074 |                         Some(token) => {
[INFO] [stderr]      |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `line_number`
[INFO] [stderr]     --> src/parser.rs:1221:11
[INFO] [stderr]      |
[INFO] [stderr] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stderr]      |           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]     --> src/parser.rs:1221:29
[INFO] [stderr]      |
[INFO] [stderr] 1221 | fn report(line_number: u32, message: &str) {
[INFO] [stderr]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/environment.rs:80:18
[INFO] [stderr]    |
[INFO] [stderr] 80 |             Some(val) => {
[INFO] [stderr]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/environment.rs:120:35
[INFO] [stderr]     |
[INFO] [stderr] 120 |                 Literal::FnObject(name, fn_obj) => return Some(fn_obj.clone()),
[INFO] [stderr]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/scanner.rs:48:31
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn scan_tokens(&mut self, start: i32) -> Result<Vec<Token>, &'static str> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/interpreter/runtime_error.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 124 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stderr]     |             ------------------------------------ matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 131 |             RuntimeErrorType::ExpressionExpected => {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/interpreter/runtime_error.rs:147:13
[INFO] [stderr]     |
[INFO] [stderr] 130 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stderr]     |             ------------------------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 147 |             RuntimeErrorType::Unknown => write!(f, "Unknown error at line {}", self.line),
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/interpreter.rs:29:20
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 Ok(value) => {}
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: method `is` is never used
[INFO] [stderr]   --> src/parser/expression.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl dyn Expr {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 30 |     // Helper method to check the type
[INFO] [stderr] 31 |     fn is<T: Any>(&self) -> bool {
[INFO] [stderr]    |        ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]  --> src/parser/method.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Callable {
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] 4 |     pub name: String,
[INFO] [stderr]   |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `BinaryMissingLHS` and `ExpectedIdentifierForFunc` are never constructed
[INFO] [stderr]   --> src/parser/parser_error.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum ParserErrorType {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  8 |     BinaryMissingLHS,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     ExpectedIdentifierForFunc,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ParserErrorType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `is` is never used
[INFO] [stderr]   --> src/parser/statement.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl dyn Statement {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] 24 |     // Helper method to check the type
[INFO] [stderr] 25 |     fn is<T: Any>(&self) -> bool {
[INFO] [stderr]    |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `ls` is never used
[INFO] [stderr]    --> src/environment.rs:133:12
[INFO] [stderr]     |
[INFO] [stderr]  22 | impl Environment {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 133 |     pub fn ls(&self) {
[INFO] [stderr]     |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `had_errors` is never read
[INFO] [stderr]   --> src/scanner.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct Scanner<'a> {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     had_errors: bool,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_string` is never used
[INFO] [stderr]    --> src/scanner/token.rs:122:12
[INFO] [stderr]     |
[INFO] [stderr] 113 | impl Token {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn to_string(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ComparisonInvalidOperator`, `ArithmeticInvalidOperator`, `IdentifierExpedcted`, `InvalidAssignmentTarget`, and `UnexpextedBreakStatement` are never constructed
[INFO] [stderr]   --> src/interpreter/runtime_error.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum RuntimeErrorType {
[INFO] [stderr]    |          ---------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  8 |     ComparisonInvalidOperator,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]  9 |     ArithmeticInvalidOperator,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     IdentifierExpedcted,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     InvalidAssignmentTarget,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     UnexpextedBreakStatement,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RuntimeErrorType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/parser.rs:87:24
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser {
[INFO] [stderr]    |                        ^^^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn new(tokens: &Vec<Token>) -> Parser<'_> {
[INFO] [stderr]    |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:277:9
[INFO] [stderr]     |
[INFO] [stderr] 277 |         self.consume(&TokenType::Semicolon);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 277 |         let _ = self.consume(&TokenType::Semicolon);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:433:13
[INFO] [stderr]     |
[INFO] [stderr] 433 |             self.consume(&TokenType::Else);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 433 |             let _ = self.consume(&TokenType::Else);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:568:9
[INFO] [stderr]     |
[INFO] [stderr] 568 |         self.consume(&TokenType::RightParen);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 568 |         let _ = self.consume(&TokenType::RightParen);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:569:9
[INFO] [stderr]     |
[INFO] [stderr] 569 |         self.consume(&TokenType::LeftBrace);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 569 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:624:13
[INFO] [stderr]     |
[INFO] [stderr] 624 |             self.consume(&TokenType::LeftParen);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 624 |             let _ = self.consume(&TokenType::LeftParen);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:706:9
[INFO] [stderr]     |
[INFO] [stderr] 706 |         self.consume(&TokenType::Equal);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 706 |         let _ = self.consume(&TokenType::Equal);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:707:9
[INFO] [stderr]     |
[INFO] [stderr] 707 |         self.consume(&TokenType::Greater);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 707 |         let _ = self.consume(&TokenType::Greater);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/parser.rs:709:9
[INFO] [stderr]     |
[INFO] [stderr] 709 |         self.consume(&TokenType::LeftBrace);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 709 |         let _ = self.consume(&TokenType::LeftBrace);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Callable` should have a snake case name
[INFO] [stderr]    --> src/parser/statement.rs:276:25
[INFO] [stderr]     |
[INFO] [stderr] 276 |             if let Some(Callable) = initializer.downcast_ref::<Callable>() {
[INFO] [stderr]     |                         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `callable`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scanner.rs:18:24
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(source: &String) -> Scanner {
[INFO] [stderr]    |                        ^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(source: &String) -> Scanner<'_> {
[INFO] [stderr]    |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rlox` (bin "rlox" test) generated 70 warnings (run `cargo fix --bin "rlox" -p rlox --tests` to apply 50 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rlox-169ad2c1f0c73d53)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test dispatch::tests::test1 ... ok
[INFO] [stdout] test dispatch::tests::test2 ... ok
[INFO] [stdout] test dispatch::tests::test3 ... ok
[INFO] [stdout] test dispatch::tests::test6 ... ok
[INFO] [stdout] test dispatch::tests::test7 ... ok
[INFO] [stdout] test dispatch::tests::test4 ... ok
[INFO] [stdout] test dispatch::tests::test5 ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stderr] error: test failed, to rerun pass `--bin rlox`
[INFO] [stdout] 
[INFO] [stdout] ---- dispatch::tests::test5 stdout ----
[INFO] [stdout] <Var stmt "i">
[INFO] [stdout] <Fun stmt "method">
[INFO] [stdout] <ExprStmt stmt>
[INFO] [stdout] <Print stmt>
[INFO] [stdout] Evaluating funstmt
[INFO] [stdout] calling it here
[INFO] [stdout] lambda calling here
[INFO] [stdout] calling it here
[INFO] [stdout] Evaluating funstmt
[INFO] [stdout] calling it here
[INFO] [stdout] 888
[INFO] [stdout] aaaa
[INFO] [stdout] 888
[INFO] [stdout] bbb
[INFO] [stdout] 1
[INFO] [stdout] 900
[INFO] [stdout] 1
[INFO] [stdout] 10
[INFO] [stdout] 
[INFO] [stdout] thread 'dispatch::tests::test5' (22) panicked at src/dispatch.rs:118:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "888\naaaa\n888\nbbb\n1\n900\n1\n10\n"
[INFO] [stdout]  right: "10\n11\n900\n11\n11\n"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c971c1b79ca - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c971c1b79ca - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c971c1b79ca - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c971c1b79ca - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c971c1cc35a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c971c1cc35a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5c971c1bc202 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5c971c1bc202 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5c971c1969cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c971c1969cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c971c1afe29 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c971c14c67c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5c971c14c67c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c971c1affe2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5c971c1affe2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c971c196a88 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c971c18bc99 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c971c19779d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c971c1ccadc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c971c1cc993 - core[e929cb53b82a81ca]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5c971c1120ce - core[e929cb53b82a81ca]::panicking::assert_failed::<alloc[9d7caffeb3b5d2c6]::string::String, alloc[9d7caffeb3b5d2c6]::string::String>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5c971c10e85c - rlox[a059bbe750b324b1]::dispatch::tests::test5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/dispatch.rs:118:9
[INFO] [stdout]   22:     0x5c971c10c917 - rlox[a059bbe750b324b1]::dispatch::tests::test5::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/dispatch.rs:115:15
[INFO] [stdout]   23:     0x5c971c111d46 - <rlox[a059bbe750b324b1]::dispatch::tests::test5::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c971c13f95b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5c971c13f95b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5c971c14d14b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5c971c14d14b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5c971c14d14b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5c971c14d14b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5c971c14d14b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5c971c14d14b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5c971c14d14b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5c971c146864 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5c971c146864 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5c971c14fd52 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5c971c14fd52 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5c971c14fd52 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5c971c14fd52 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5c971c14fd52 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5c971c14fd52 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5c971c14fd52 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5c971c1b72df - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5c971c1b72df - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7ef3d2870aa4 - <unknown>
[INFO] [stdout]   45:     0x7ef3d28fda64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     dispatch::tests::test5
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "20ba758973f062ab122b12b9c7023b2f6f49570a3ffc5cdc358607ba7b4d1f74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20ba758973f062ab122b12b9c7023b2f6f49570a3ffc5cdc358607ba7b4d1f74", kill_on_drop: false }`
[INFO] [stdout] 20ba758973f062ab122b12b9c7023b2f6f49570a3ffc5cdc358607ba7b4d1f74
