[INFO] cloning repository https://github.com/4b1dden/forklift
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/4b1dden/forklift" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9ff59a8d910776aefb5d8eacc91c51d538ffc115
[INFO] testing 4b1dden/forklift against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/4b1dden/forklift
[INFO] finished tweaking git repo https://github.com/4b1dden/forklift
[INFO] tweaked toml for git repo https://github.com/4b1dden/forklift written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/4b1dden/forklift on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/4b1dden/forklift 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ordered-float v3.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f75c86d33386598a15a445b6985c214c816a752ed6677d5b60266c89e1521cbf
[INFO] running `Command { std: "docker" "start" "-a" "f75c86d33386598a15a445b6985c214c816a752ed6677d5b60266c89e1521cbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f75c86d33386598a15a445b6985c214c816a752ed6677d5b60266c89e1521cbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f75c86d33386598a15a445b6985c214c816a752ed6677d5b60266c89e1521cbf", kill_on_drop: false }`
[INFO] [stdout] f75c86d33386598a15a445b6985c214c816a752ed6677d5b60266c89e1521cbf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 000dc01dc7af885d246418bd32c2c11f385c7b15a80cacce53b44c54d6b0293c
[INFO] running `Command { std: "docker" "start" "-a" "000dc01dc7af885d246418bd32c2c11f385c7b15a80cacce53b44c54d6b0293c", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling ordered-float v3.0.0
[INFO] [stderr]    Compiling forklift v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::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 import: `std::io::BufWriter`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Identifier`, `LiteralExpr`, `either_polymorphic`, and `either`
[INFO] [stdout]  --> src/grammar.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 |     any_of_monomorphic, either, either_polymorphic, end_with_semicolon, parse_binary_expression,
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     triplet, zero_or_more, BoxedParser, Expr, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stdout]   |                                                               ^^^^^^^^^^
[INFO] [stdout] 7 |     LiteralExpr, ParseResult, Parser, Reassignment, WhileLoop,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]  --> src/interpreter/declaration.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ensure_is_identifier`
[INFO] [stdout]  --> src/interpreter/declaration.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::parser::{ensure_is_identifier, Expr, LetBinding, LiteralExpr, Reassignment};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter/expr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub`
[INFO] [stdout]  --> src/interpreter/expr.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, Deref, Div, Mul, Sub};
[INFO] [stdout]   |                ^^^         ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LetBinding`
[INFO] [stdout]   --> src/interpreter/expr.rs:15:84
[INFO] [stdout]    |
[INFO] [stdout] 15 |     BinaryExpr, BinaryOperator, Expr, FnCall, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:332:10
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub enum FL_T {
[INFO] [stdout]     |          ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Primitive` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum FL_T_Primitive {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTPrimitive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Callable` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct FL_T_Callable {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Callable_Body` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub enum FL_T_Callable_Body {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallableBody`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_T` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     FL_T(Statement),         // FL_T
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Callable_Native` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:411:10
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum Callable_Native {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallableNative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Bool` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:449:10
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum FL_T_Bool {
[INFO] [stdout]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `FlTBool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FL_T_Primitive`, `FL_T`, and `desugar_for_loop_to_while_block`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{desugar_for_loop_to_while_block, FL_T_Primitive, FL_T};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Declaration` and `Statement`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::grammar::{Declaration, Statement};
[INFO] [stdout]   |                      ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InterpreterResult` and `Interpreter`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::interpreter::{Environment, Interpreter, InterpreterResult};
[INFO] [stdout]   |                                       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinaryExpr`, `BinaryOperator`, `Expr`, `ForLoop`, `Identifier`, `LetBinding`, `LiteralExpr`, `Number`, `Reassignment`, `StringLiteral`, `UnaryExpr`, and `UnaryOperator`
[INFO] [stdout]   --> src/interpreter/expr.test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     BinaryExpr, BinaryOperator, Expr, ForLoop, Identifier, LetBinding, LiteralExpr, Number,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 10 |     Reassignment, StringLiteral, UnaryExpr, UnaryOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ref`
[INFO] [stdout]  --> src/interpreter/main.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{RefCell, Ref};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Identifier`
[INFO] [stdout]  --> src/interpreter/main.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::parser::{Expr, Identifier};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Declaration` and `FL_T_Callable`
[INFO] [stdout]   --> src/interpreter/main.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout]  9 |     grammar::{Declaration, Program},
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 10 |     interpreter::{FL_T_Callable, InterpreterResult, FL_T},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callable_Native` and `FL_T_Callable_Body`
[INFO] [stdout]   --> src/interpreter/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::{Callable_Native, FL_T_Callable_Body};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `resolver::*`
[INFO] [stdout]  --> src/interpreter/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use resolver::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseResult`
[INFO] [stdout]  --> src/parser/combinators.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::{map, BoxedParser, ParseResult, Parser};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/parser/combinators.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if let (Ok(_)) = result {
[INFO] [stdout]    |                    ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if let (Ok(_)) = result {
[INFO] [stdout] 92 +             if let Ok(_)  = result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `either`, `left`, `parse_identifier`, `parse_number`, `right`, and `sequence_of_monomorphic`
[INFO] [stdout]  --> src/parser/parser.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     any_of_monomorphic, either, left, one_or_more, optional, pair, parse_expr,
[INFO] [stdout]   |                         ^^^^^^  ^^^^
[INFO] [stdout] 5 |     parse_grouping_expr_2, parse_identifier, parse_literal, parse_number, parse_string_literal,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout] 6 |     right, sequence_of_monomorphic, triplet, zero_or_more,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped_scope`
[INFO] [stdout]  --> src/parser/primitives.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     wrapped_scope, Declaration, Statement,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `and_then`, `either`, `optional_whitespace`, and `parse_function_call`
[INFO] [stdout]  --> src/parser/primitives.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     and_then, at_least_one_whitespace, either, optional_whitespace, parse_binary_expression,
[INFO] [stdout]   |     ^^^^^^^^                           ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     parse_expr_literal, parse_function_call, parse_unary_expression, sequence_of_monomorphic,
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]   --> src/parser/primitives.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any_of_monomorphic, map, optional, pair, parse_function_call_for_expr, triplet, ParseResult,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `INTERPRETER_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpreterError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     INTERPRET_COMPILE_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     INTERPRET_RUNTIME_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LexerError` and `tokenize`
[INFO] [stdout]  --> src/vm/compiler.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::vm::scanner::{tokenize, LexedToken, Lexer, LexerError, TokenKind};
[INFO] [stdout]   |                          ^^^^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_SUBTRACT`
[INFO] [stdout]  --> src/vm/compiler.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Chunk, OpCode, Value, OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN, OP_SUBTRACT,
[INFO] [stdout]   |                           ^^^^^^               ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::grammar::parse_declaration`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::grammar::parse_declaration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxedParser` and `Expr`
[INFO] [stdout]   --> src/main.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::parser::{BoxedParser, Expr, Parser};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/combinators.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut results = Vec::<R>::new();
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/combinators.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut rest = input;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/declaration.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconstructed`
[INFO] [stdout]   --> src/interpreter/declaration.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone()));
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/expr.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut local_env = Rc::new(RefCell::new(Environment::new(Some(env.clone()))));
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/interpreter/expr.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let res = RefCell::borrow_mut(&env).put(
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/interpreter/expr.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |         if let Some(depth) = maybe_depth {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/interpreter/expr.rs:567:5
[INFO] [stdout]     |
[INFO] [stdout] 567 |     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: `e`
[INFO] [stdout]   --> src/interpreter/main.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/interpreter/main.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err1`
[INFO] [stdout]   --> src/parser/combinators.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         Err(err1) => match parser2.parse(input) {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_err1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/parser/combinators.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut results = Vec::<R>::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]   --> src/parser/combinators.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut rest = input;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_pair`
[INFO] [stdout]    --> src/parser/primitives.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 310 |         |((entry_pair, decl, (mid_pair, last_pair)), body)| ForLoop {
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_pair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matched`
[INFO] [stdout]    --> src/parser/primitives.rs:363:20
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let (rest, matched) = p.parse(input)?;
[INFO] [stdout]     |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contents`
[INFO] [stdout]    --> src/vm/common.rs:291:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let contents = fs::read_to_string(path).expect("Filepath has to be valid");
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenizer`
[INFO] [stdout]   --> src/vm/compiler.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stdout]    |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenizer`
[INFO] [stdout]   --> src/vm/compiler.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stdout]    |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/vm/scanner.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let end = start + bytes_skipped;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snippet_err_offset`
[INFO] [stdout]    --> src/vm/scanner.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let snippet_err_offset = 20;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snippet_err_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/scanner.rs:193:28
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut repl_env = Rc::new(RefCell::new(Environment::new(None)));
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let parser = grammar::parse_program();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bool` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum FL_T_Primitive {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] 380 |     Str(String),
[INFO] [stdout] 381 |     Bool(bool),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FL_T_Primitive` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Native` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub enum FL_T_Callable_Body {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 406 |     Native(Callable_Native), // Rust
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FL_T_Callable_Body` 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: variant `Clock` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum Callable_Native {
[INFO] [stdout]     |          --------------- variant in this enum
[INFO] [stdout] 412 |     Clock,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Callable_Native` 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: enum `FL_T_Bool` is never used
[INFO] [stdout]    --> src/interpreter/expr.rs:449:10
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum FL_T_Bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_env` is never used
[INFO] [stdout]   --> src/interpreter/expr.test.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn empty_env() -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_at` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Environment {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn get_at(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `environment` is never read
[INFO] [stdout]    --> src/interpreter/main.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct Interpreter<W: Write> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub environment: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Interpreter` 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: methods `preload_with` and `inject_into_global_env` are never used
[INFO] [stdout]    --> src/interpreter/main.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl<W: Write> Interpreter<W> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn preload_with(&mut self, m: HashMap<String, Rc<FL_T>>) -> InterpreterResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn inject_into_global_env(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `either` is never used
[INFO] [stdout]  --> src/parser/combinators.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn either<'a, P1, P2, A>(parser1: P1, parser2: P2) -> impl Parser<'a, A>
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `either_polymorphic` is never used
[INFO] [stdout]   --> src/parser/combinators.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn either_polymorphic<'a, R1, R2>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `left` is never used
[INFO] [stdout]   --> src/parser/combinators.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1>
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `right` is never used
[INFO] [stdout]   --> src/parser/combinators.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2>
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `predicate` is never used
[INFO] [stdout]   --> src/parser/parser.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Parser<'a, Output> {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn predicate<F>(self, pred_fn: F) -> BoxedParser<'a, Output>
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sequence_of` is never used
[INFO] [stdout]    --> src/parser/parser.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn sequence_of() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_identifier_as_identifier` is never used
[INFO] [stdout]   --> src/parser/primitives.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn parse_identifier_as_identifier<'a>() -> impl Parser<'a, Identifier> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_grouping_expr` is never used
[INFO] [stdout]    --> src/parser/primitives.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn parse_grouping_expr<'a>() -> impl Parser<'a, Expr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OpCode` is never used
[INFO] [stdout]  --> src/vm/common.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type OpCode = u8;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_RETURN` is never used
[INFO] [stdout]   --> src/vm/common.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const OP_RETURN: OpCode = 0x0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_CONSTANT` is never used
[INFO] [stdout]   --> src/vm/common.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const OP_CONSTANT: OpCode = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_NEGATE` is never used
[INFO] [stdout]   --> src/vm/common.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const OP_NEGATE: OpCode = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_ADD` is never used
[INFO] [stdout]   --> src/vm/common.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const OP_ADD: OpCode = 0x3;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_SUBTRACT` is never used
[INFO] [stdout]   --> src/vm/common.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OP_SUBTRACT: OpCode = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_MULTIPLY` is never used
[INFO] [stdout]   --> src/vm/common.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OP_MULTIPLY: OpCode = 0x5;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_DIVIDE` is never used
[INFO] [stdout]   --> src/vm/common.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OP_DIVIDE: OpCode = 0x6;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_instruction` is never used
[INFO] [stdout]   --> src/vm/common.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn primitive_instruction(name: &str, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `constant_instruction` is never used
[INFO] [stdout]   --> src/vm/common.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn constant_instruction(name: &str, chunk: &Chunk, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Value` is never used
[INFO] [stdout]   --> src/vm/common.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub type Value = f64;
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_value` is never used
[INFO] [stdout]   --> src/vm/common.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn print_value(val: Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValueArray` is never constructed
[INFO] [stdout]   --> src/vm/common.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ValueArray {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPACITY_LOW_THRESHOLD` is never used
[INFO] [stdout]   --> src/vm/common.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const CAPACITY_LOW_THRESHOLD: usize = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPACITY_INCREMENT_MULTIPLIER` is never used
[INFO] [stdout]   --> src/vm/common.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const CAPACITY_INCREMENT_MULTIPLIER: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STACK_CAPACITY` is never used
[INFO] [stdout]   --> src/vm/common.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const STACK_CAPACITY: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `INTERPRETER_ERROR` is never used
[INFO] [stdout]   --> src/vm/common.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VmResult` is never used
[INFO] [stdout]   --> src/vm/common.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub type VmResult<T> = Result<T, INTERPRETER_ERROR>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_TRACE_EXECUTION` is never used
[INFO] [stdout]   --> src/vm/common.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const DEBUG_TRACE_EXECUTION: bool = true;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VM` is never constructed
[INFO] [stdout]   --> src/vm/common.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct VM {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `interpret`, `with_chunk`, `push`, `pop`, and `run` are never used
[INFO] [stdout]   --> src/vm/common.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl VM {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 70 |     pub fn interpret(chunk: Chunk) -> VmResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn with_chunk(chunk: Chunk) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn push(&mut self, val: Value) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn pop(&mut self) -> Value {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn run(&mut self) -> VmResult<()> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_byte` is never used
[INFO] [stdout]    --> src/vm/common.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn read_byte(vm: &mut VM) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_const` is never used
[INFO] [stdout]    --> src/vm/common.rs:153:4
[INFO] [stdout]     |
[INFO] [stdout] 153 | fn read_const(vm: &mut VM) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `upgrade_capacity`, and `write` are never used
[INFO] [stdout]    --> src/vm/common.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl ValueArray {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 160 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn upgrade_capacity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn write(&mut self, val: Value) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chunk` is never constructed
[INFO] [stdout]    --> src/vm/common.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub struct Chunk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_constant`, `write`, `upgrade_capacity`, and `disassemble` are never used
[INFO] [stdout]    --> src/vm/common.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl Chunk {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 197 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn add_constant(&mut self, val: Value) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn write(&mut self, byte: OpCode, line: u32) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn upgrade_capacity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn disassemble(&self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_instruction` is never used
[INFO] [stdout]    --> src/vm/common.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn disassemble_instruction(chunk: &Chunk, offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpret` is never used
[INFO] [stdout]    --> src/vm/common.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn interpret(source: &str) -> VmResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CompilerResult` is never used
[INFO] [stdout]  --> src/vm/compiler.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type CompilerResult<T> = Result<T, String>; // Change Err type later
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]  --> src/vm/compiler.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Compiler<'a> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn compile(source: &str) -> CompilerResult<Chunk> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_error_at_lexeme` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl<'a> Compiler<'a> {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 39 |     fn make_error_at_lexeme(&self, tok: LexedToken, msg: &str) -> CompilerResult<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expression` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_return` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn emit_return(chunk: &mut Chunk) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_chunk` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn write_chunk(chunk: &mut Chunk, byte: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_constant` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn make_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<OpCode> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_constant` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn write_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_chunk_byte_tuple` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn write_chunk_byte_tuple(chunk: &mut Chunk, byte1: u8, byte2: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn consume(tokenizer: &mut Lexer, kind: TokenKind) -> CompilerResult<()> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Comma`, `Dot`, `AND`, `OR`, and `Root` are never constructed
[INFO] [stdout]   --> src/vm/scanner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum TokenKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Comma,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     Dot,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     AND,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     OR,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     Root,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `had_error` and `panic_mode` are never read
[INFO] [stdout]   --> src/vm/scanner.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub had_error: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 64 |     pub panic_mode: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `consume` and `panic_mode_on` are never used
[INFO] [stdout]   --> src/vm/scanner.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn consume(&mut self, token_kind: TokenKind) -> LexerResult<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn panic_mode_on(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LexerError` is never used
[INFO] [stdout]    --> src/vm/scanner.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub enum LexerError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize_string_literal` is never used
[INFO] [stdout]    --> src/vm/scanner.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/interpreter/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[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] 95 |                 let _ = RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/interpreter/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         me.load_defaults();
[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] 135 |         let _ = me.load_defaults();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/interpreter/resolver.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |         while i >= 0 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/parser/parser.rs:259:47
[INFO] [stdout]     |
[INFO] [stdout] 259 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/parser/parser.rs:269:47
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/parser.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn next_char(input: &str) -> ParseResult<char> {
[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] 274 | fn next_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.17s
[INFO] running `Command { std: "docker" "inspect" "000dc01dc7af885d246418bd32c2c11f385c7b15a80cacce53b44c54d6b0293c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "000dc01dc7af885d246418bd32c2c11f385c7b15a80cacce53b44c54d6b0293c", kill_on_drop: false }`
[INFO] [stdout] 000dc01dc7af885d246418bd32c2c11f385c7b15a80cacce53b44c54d6b0293c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6fab35866ad80312ecf7542ed313e834640f246e7b2b430256547cc01db7732e
[INFO] running `Command { std: "docker" "start" "-a" "6fab35866ad80312ecf7542ed313e834640f246e7b2b430256547cc01db7732e", kill_on_drop: false }`
[INFO] [stderr]    Compiling forklift v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::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 import: `std::io::BufWriter`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Identifier`, `LiteralExpr`, `either_polymorphic`, and `either`
[INFO] [stdout]  --> src/grammar.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 |     any_of_monomorphic, either, either_polymorphic, end_with_semicolon, parse_binary_expression,
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     triplet, zero_or_more, BoxedParser, Expr, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stdout]   |                                                               ^^^^^^^^^^
[INFO] [stdout] 7 |     LiteralExpr, ParseResult, Parser, Reassignment, WhileLoop,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]  --> src/interpreter/declaration.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ensure_is_identifier`
[INFO] [stdout]  --> src/interpreter/declaration.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::parser::{ensure_is_identifier, Expr, LetBinding, LiteralExpr, Reassignment};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter/expr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub`
[INFO] [stdout]  --> src/interpreter/expr.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::{Add, Deref, Div, Mul, Sub};
[INFO] [stdout]   |                ^^^         ^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LetBinding`
[INFO] [stdout]   --> src/interpreter/expr.rs:15:84
[INFO] [stdout]    |
[INFO] [stdout] 15 |     BinaryExpr, BinaryOperator, Expr, FnCall, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:332:10
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub enum FL_T {
[INFO] [stdout]     |          ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Primitive` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum FL_T_Primitive {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTPrimitive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Callable` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct FL_T_Callable {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Callable_Body` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub enum FL_T_Callable_Body {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallableBody`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_T` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     FL_T(Statement),         // FL_T
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Callable_Native` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:411:10
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum Callable_Native {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallableNative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FL_T_Bool` should have an upper camel case name
[INFO] [stdout]    --> src/interpreter/expr.rs:449:10
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum FL_T_Bool {
[INFO] [stdout]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `FlTBool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterpreterResult`
[INFO] [stdout]  --> src/interpreter/expr.test.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::interpreter::{Environment, Interpreter, InterpreterResult};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringLiteral`
[INFO] [stdout]   --> src/interpreter/expr.test.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Reassignment, StringLiteral, UnaryExpr, UnaryOperator,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ref`
[INFO] [stdout]  --> src/interpreter/main.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::{RefCell, Ref};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Identifier`
[INFO] [stdout]  --> src/interpreter/main.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::parser::{Expr, Identifier};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Declaration` and `FL_T_Callable`
[INFO] [stdout]   --> src/interpreter/main.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout]  9 |     grammar::{Declaration, Program},
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 10 |     interpreter::{FL_T_Callable, InterpreterResult, FL_T},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Callable_Native` and `FL_T_Callable_Body`
[INFO] [stdout]   --> src/interpreter/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::{Callable_Native, FL_T_Callable_Body};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseResult`
[INFO] [stdout]  --> src/parser/combinators.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::{map, BoxedParser, ParseResult, Parser};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/parser/combinators.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if let (Ok(_)) = result {
[INFO] [stdout]    |                    ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if let (Ok(_)) = result {
[INFO] [stdout] 92 +             if let Ok(_)  = result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `either`, `left`, `parse_identifier`, `parse_number`, `right`, and `sequence_of_monomorphic`
[INFO] [stdout]  --> src/parser/parser.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |     any_of_monomorphic, either, left, one_or_more, optional, pair, parse_expr,
[INFO] [stdout]   |                         ^^^^^^  ^^^^
[INFO] [stdout] 5 |     parse_grouping_expr_2, parse_identifier, parse_literal, parse_number, parse_string_literal,
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout] 6 |     right, sequence_of_monomorphic, triplet, zero_or_more,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Statement`, `StringLiteral`, `fold_infix_binary_to_single_expr`, `parse_expr`, `parse_function_call`, and `parse_let_binding`
[INFO] [stdout]  --> src/parser/parser.test.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 |     grammar::{decl_let_binding, Declaration, Statement},
[INFO] [stdout]   |                                              ^^^^^^^^^
[INFO] [stdout] 3 |     parser::{
[INFO] [stdout] 4 |         any_of_monomorphic, at_least_one_whitespace, fold_infix_binary_to_single_expr, map,
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         parse_binary_expression, parse_expr, parse_expr_literal, parse_function_call,
[INFO] [stdout]   |                                  ^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |         parse_let_binding, parse_literal, parse_number, parse_unary_expression, predicate,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |         BinaryExpr, BinaryOperator, Expr, FnCall, Identifier, LetBinding, LiteralExpr, Number,
[INFO] [stdout] 8 |         Parser, StringLiteral, UnaryExpr, UnaryOperator,
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped_scope`
[INFO] [stdout]  --> src/parser/primitives.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     wrapped_scope, Declaration, Statement,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `and_then`, `either`, `optional_whitespace`, and `parse_function_call`
[INFO] [stdout]  --> src/parser/primitives.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     and_then, at_least_one_whitespace, either, optional_whitespace, parse_binary_expression,
[INFO] [stdout]   |     ^^^^^^^^                           ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     parse_expr_literal, parse_function_call, parse_unary_expression, sequence_of_monomorphic,
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]   --> src/parser/primitives.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     any_of_monomorphic, map, optional, pair, parse_function_call_for_expr, triplet, ParseResult,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `INTERPRETER_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpreterError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     INTERPRET_COMPILE_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/vm/common.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     INTERPRET_RUNTIME_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LexerError` and `tokenize`
[INFO] [stdout]  --> src/vm/compiler.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::vm::scanner::{tokenize, LexedToken, Lexer, LexerError, TokenKind};
[INFO] [stdout]   |                          ^^^^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_SUBTRACT`
[INFO] [stdout]  --> src/vm/compiler.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Chunk, OpCode, Value, OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN, OP_SUBTRACT,
[INFO] [stdout]   |                           ^^^^^^               ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LexerError`
[INFO] [stdout]  --> src/vm/scanner.test.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 |     tokenize_single_token, LexedToken, LexerError, TokenKind,
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::grammar::parse_declaration`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::grammar::parse_declaration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoxedParser` and `Expr`
[INFO] [stdout]   --> src/main.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::parser::{BoxedParser, Expr, Parser};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/combinators.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut results = Vec::<R>::new();
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/combinators.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut rest = input;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/declaration.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/interpreter/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconstructed`
[INFO] [stdout]   --> src/interpreter/declaration.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone()));
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/expr.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut local_env = Rc::new(RefCell::new(Environment::new(Some(env.clone()))));
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/interpreter/expr.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let res = RefCell::borrow_mut(&env).put(
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/interpreter/expr.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |         if let Some(depth) = maybe_depth {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/interpreter/expr.rs:567:5
[INFO] [stdout]     |
[INFO] [stdout] 567 |     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: `e`
[INFO] [stdout]   --> src/interpreter/main.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/interpreter/main.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err1`
[INFO] [stdout]   --> src/parser/combinators.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         Err(err1) => match parser2.parse(input) {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_err1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/parser/combinators.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut results = Vec::<R>::new();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest`
[INFO] [stdout]   --> src/parser/combinators.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut rest = input;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_pair`
[INFO] [stdout]    --> src/parser/primitives.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 310 |         |((entry_pair, decl, (mid_pair, last_pair)), body)| ForLoop {
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_pair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matched`
[INFO] [stdout]    --> src/parser/primitives.rs:363:20
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let (rest, matched) = p.parse(input)?;
[INFO] [stdout]     |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contents`
[INFO] [stdout]    --> src/vm/common.rs:291:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |     let contents = fs::read_to_string(path).expect("Filepath has to be valid");
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenizer`
[INFO] [stdout]   --> src/vm/compiler.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stdout]    |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenizer`
[INFO] [stdout]   --> src/vm/compiler.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stdout]    |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/vm/scanner.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let end = start + bytes_skipped;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snippet_err_offset`
[INFO] [stdout]    --> src/vm/scanner.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let snippet_err_offset = 20;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snippet_err_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/scanner.rs:193:28
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut repl_env = Rc::new(RefCell::new(Environment::new(None)));
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let parser = grammar::parse_program();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bool` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum FL_T_Primitive {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] 380 |     Str(String),
[INFO] [stdout] 381 |     Bool(bool),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FL_T_Primitive` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Native` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub enum FL_T_Callable_Body {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 406 |     Native(Callable_Native), // Rust
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FL_T_Callable_Body` 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: variant `Clock` is never constructed
[INFO] [stdout]    --> src/interpreter/expr.rs:412:5
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub enum Callable_Native {
[INFO] [stdout]     |          --------------- variant in this enum
[INFO] [stdout] 412 |     Clock,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Callable_Native` 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: enum `FL_T_Bool` is never used
[INFO] [stdout]    --> src/interpreter/expr.rs:449:10
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub enum FL_T_Bool {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_at` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Environment {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn get_at(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `environment` is never read
[INFO] [stdout]    --> src/interpreter/main.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct Interpreter<W: Write> {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub environment: Rc<RefCell<Environment>>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Interpreter` 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: methods `preload_with` and `inject_into_global_env` are never used
[INFO] [stdout]    --> src/interpreter/main.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl<W: Write> Interpreter<W> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn preload_with(&mut self, m: HashMap<String, Rc<FL_T>>) -> InterpreterResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn inject_into_global_env(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `either_polymorphic` is never used
[INFO] [stdout]   --> src/parser/combinators.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn either_polymorphic<'a, R1, R2>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `predicate` is never used
[INFO] [stdout]   --> src/parser/parser.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Parser<'a, Output> {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn predicate<F>(self, pred_fn: F) -> BoxedParser<'a, Output>
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sequence_of` is never used
[INFO] [stdout]    --> src/parser/parser.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn sequence_of() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mock_number_literal_expr` is never used
[INFO] [stdout]   --> src/parser/parser.test.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn mock_number_literal_expr(num: i32) -> Expr {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_identifier_as_identifier` is never used
[INFO] [stdout]   --> src/parser/primitives.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn parse_identifier_as_identifier<'a>() -> impl Parser<'a, Identifier> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OpCode` is never used
[INFO] [stdout]  --> src/vm/common.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type OpCode = u8;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_RETURN` is never used
[INFO] [stdout]   --> src/vm/common.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const OP_RETURN: OpCode = 0x0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_CONSTANT` is never used
[INFO] [stdout]   --> src/vm/common.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const OP_CONSTANT: OpCode = 0x1;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_NEGATE` is never used
[INFO] [stdout]   --> src/vm/common.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const OP_NEGATE: OpCode = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_ADD` is never used
[INFO] [stdout]   --> src/vm/common.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const OP_ADD: OpCode = 0x3;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_SUBTRACT` is never used
[INFO] [stdout]   --> src/vm/common.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OP_SUBTRACT: OpCode = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_MULTIPLY` is never used
[INFO] [stdout]   --> src/vm/common.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OP_MULTIPLY: OpCode = 0x5;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_DIVIDE` is never used
[INFO] [stdout]   --> src/vm/common.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OP_DIVIDE: OpCode = 0x6;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_instruction` is never used
[INFO] [stdout]   --> src/vm/common.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn primitive_instruction(name: &str, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `constant_instruction` is never used
[INFO] [stdout]   --> src/vm/common.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn constant_instruction(name: &str, chunk: &Chunk, offset: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Value` is never used
[INFO] [stdout]   --> src/vm/common.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub type Value = f64;
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_value` is never used
[INFO] [stdout]   --> src/vm/common.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn print_value(val: Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValueArray` is never constructed
[INFO] [stdout]   --> src/vm/common.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ValueArray {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPACITY_LOW_THRESHOLD` is never used
[INFO] [stdout]   --> src/vm/common.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const CAPACITY_LOW_THRESHOLD: usize = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPACITY_INCREMENT_MULTIPLIER` is never used
[INFO] [stdout]   --> src/vm/common.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const CAPACITY_INCREMENT_MULTIPLIER: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STACK_CAPACITY` is never used
[INFO] [stdout]   --> src/vm/common.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const STACK_CAPACITY: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `INTERPRETER_ERROR` is never used
[INFO] [stdout]   --> src/vm/common.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VmResult` is never used
[INFO] [stdout]   --> src/vm/common.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub type VmResult<T> = Result<T, INTERPRETER_ERROR>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_TRACE_EXECUTION` is never used
[INFO] [stdout]   --> src/vm/common.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const DEBUG_TRACE_EXECUTION: bool = true;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VM` is never constructed
[INFO] [stdout]   --> src/vm/common.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct VM {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `interpret`, `with_chunk`, `push`, `pop`, and `run` are never used
[INFO] [stdout]   --> src/vm/common.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl VM {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 70 |     pub fn interpret(chunk: Chunk) -> VmResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn with_chunk(chunk: Chunk) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn push(&mut self, val: Value) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn pop(&mut self) -> Value {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn run(&mut self) -> VmResult<()> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_byte` is never used
[INFO] [stdout]    --> src/vm/common.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn read_byte(vm: &mut VM) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_const` is never used
[INFO] [stdout]    --> src/vm/common.rs:153:4
[INFO] [stdout]     |
[INFO] [stdout] 153 | fn read_const(vm: &mut VM) -> Value {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `upgrade_capacity`, and `write` are never used
[INFO] [stdout]    --> src/vm/common.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl ValueArray {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 160 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn upgrade_capacity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn write(&mut self, val: Value) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chunk` is never constructed
[INFO] [stdout]    --> src/vm/common.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub struct Chunk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_constant`, `write`, `upgrade_capacity`, and `disassemble` are never used
[INFO] [stdout]    --> src/vm/common.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl Chunk {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 197 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn add_constant(&mut self, val: Value) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn write(&mut self, byte: OpCode, line: u32) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn upgrade_capacity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn disassemble(&self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_instruction` is never used
[INFO] [stdout]    --> src/vm/common.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub fn disassemble_instruction(chunk: &Chunk, offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interpret` is never used
[INFO] [stdout]    --> src/vm/common.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn interpret(source: &str) -> VmResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CompilerResult` is never used
[INFO] [stdout]  --> src/vm/compiler.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type CompilerResult<T> = Result<T, String>; // Change Err type later
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]  --> src/vm/compiler.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Compiler<'a> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn compile(source: &str) -> CompilerResult<Chunk> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_error_at_lexeme` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl<'a> Compiler<'a> {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 39 |     fn make_error_at_lexeme(&self, tok: LexedToken, msg: &str) -> CompilerResult<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expression` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_return` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn emit_return(chunk: &mut Chunk) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_chunk` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn write_chunk(chunk: &mut Chunk, byte: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_constant` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn make_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<OpCode> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_constant` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn write_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_chunk_byte_tuple` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn write_chunk_byte_tuple(chunk: &mut Chunk, byte1: u8, byte2: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consume` is never used
[INFO] [stdout]   --> src/vm/compiler.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn consume(tokenizer: &mut Lexer, kind: TokenKind) -> CompilerResult<()> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Comma`, `Dot`, `AND`, `OR`, and `Root` are never constructed
[INFO] [stdout]   --> src/vm/scanner.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum TokenKind {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Comma,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     Dot,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     AND,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     OR,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     Root,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `had_error` and `panic_mode` are never read
[INFO] [stdout]   --> src/vm/scanner.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Lexer<'a> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub had_error: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 64 |     pub panic_mode: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `consume` and `panic_mode_on` are never used
[INFO] [stdout]   --> src/vm/scanner.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn consume(&mut self, token_kind: TokenKind) -> LexerResult<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn panic_mode_on(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LexerError` is never used
[INFO] [stdout]    --> src/vm/scanner.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub enum LexerError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize_string_literal` is never used
[INFO] [stdout]    --> src/vm/scanner.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/interpreter/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[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] 95 |                 let _ = RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/interpreter/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         me.load_defaults();
[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] 135 |         let _ = me.load_defaults();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/interpreter/resolver.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |         while i >= 0 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/parser/parser.rs:259:47
[INFO] [stdout]     |
[INFO] [stdout] 259 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]    --> src/parser/parser.rs:269:47
[INFO] [stdout]     |
[INFO] [stdout] 269 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser/parser.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn next_char(input: &str) -> ParseResult<char> {
[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] 274 | fn next_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.29s
[INFO] running `Command { std: "docker" "inspect" "6fab35866ad80312ecf7542ed313e834640f246e7b2b430256547cc01db7732e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6fab35866ad80312ecf7542ed313e834640f246e7b2b430256547cc01db7732e", kill_on_drop: false }`
[INFO] [stdout] 6fab35866ad80312ecf7542ed313e834640f246e7b2b430256547cc01db7732e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c4ffc74f9755e6e9f5eb4480ed6f0dcfcc4f1d354df6481a89c4641e218425d4
[INFO] running `Command { std: "docker" "start" "-a" "c4ffc74f9755e6e9f5eb4480ed6f0dcfcc4f1d354df6481a89c4641e218425d4", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufWriter`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufWriter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Identifier`, `LiteralExpr`, `either_polymorphic`, and `either`
[INFO] [stderr]  --> src/grammar.rs:2:25
[INFO] [stderr]   |
[INFO] [stderr] 2 |     any_of_monomorphic, either, either_polymorphic, end_with_semicolon, parse_binary_expression,
[INFO] [stderr]   |                         ^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 6 |     triplet, zero_or_more, BoxedParser, Expr, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stderr]   |                                                               ^^^^^^^^^^
[INFO] [stderr] 7 |     LiteralExpr, ParseResult, Parser, Reassignment, WhileLoop,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RefMut`
[INFO] [stderr]  --> src/interpreter/declaration.rs:2:26
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cell::{RefCell, RefMut};
[INFO] [stderr]   |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ensure_is_identifier`
[INFO] [stderr]  --> src/interpreter/declaration.rs:8:21
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::parser::{ensure_is_identifier, Expr, LetBinding, LiteralExpr, Reassignment};
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/interpreter/expr.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub`
[INFO] [stderr]  --> src/interpreter/expr.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::ops::{Add, Deref, Div, Mul, Sub};
[INFO] [stderr]   |                ^^^         ^^^  ^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LetBinding`
[INFO] [stderr]   --> src/interpreter/expr.rs:15:84
[INFO] [stderr]    |
[INFO] [stderr] 15 |     BinaryExpr, BinaryOperator, Expr, FnCall, FnDef, ForLoop, Identifier, IfBlock, LetBinding,
[INFO] [stderr]    |                                                                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `FL_T` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:332:10
[INFO] [stderr]     |
[INFO] [stderr] 332 | pub enum FL_T {
[INFO] [stderr]     |          ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `FL_T_Primitive` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:379:10
[INFO] [stderr]     |
[INFO] [stderr] 379 | pub enum FL_T_Primitive {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTPrimitive`
[INFO] [stderr] 
[INFO] [stderr] warning: type `FL_T_Callable` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:389:12
[INFO] [stderr]     |
[INFO] [stderr] 389 | pub struct FL_T_Callable {
[INFO] [stderr]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallable`
[INFO] [stderr] 
[INFO] [stderr] warning: type `FL_T_Callable_Body` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:405:10
[INFO] [stderr]     |
[INFO] [stderr] 405 | pub enum FL_T_Callable_Body {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallableBody`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FL_T` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:407:5
[INFO] [stderr]     |
[INFO] [stderr] 407 |     FL_T(Statement),         // FL_T
[INFO] [stderr]     |     ^^^^ help: convert the identifier to upper camel case: `FlT`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Callable_Native` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:411:10
[INFO] [stderr]     |
[INFO] [stderr] 411 | pub enum Callable_Native {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallableNative`
[INFO] [stderr] 
[INFO] [stderr] warning: type `FL_T_Bool` should have an upper camel case name
[INFO] [stderr]    --> src/interpreter/expr.rs:449:10
[INFO] [stderr]     |
[INFO] [stderr] 449 | pub enum FL_T_Bool {
[INFO] [stderr]     |          ^^^^^^^^^ help: convert the identifier to upper camel case: `FlTBool`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/interpreter/expr.test.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io::{self, Write};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `InterpreterResult`
[INFO] [stderr]  --> src/interpreter/expr.test.rs:7:52
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::interpreter::{Environment, Interpreter, InterpreterResult};
[INFO] [stderr]   |                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StringLiteral`
[INFO] [stderr]   --> src/interpreter/expr.test.rs:10:19
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Reassignment, StringLiteral, UnaryExpr, UnaryOperator,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ref`
[INFO] [stderr]  --> src/interpreter/main.rs:2:26
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cell::{RefCell, Ref};
[INFO] [stderr]   |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Identifier`
[INFO] [stderr]  --> src/interpreter/main.rs:7:27
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::parser::{Expr, Identifier};
[INFO] [stderr]   |                           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Declaration` and `FL_T_Callable`
[INFO] [stderr]   --> src/interpreter/main.rs:9:15
[INFO] [stderr]    |
[INFO] [stderr]  9 |     grammar::{Declaration, Program},
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 10 |     interpreter::{FL_T_Callable, InterpreterResult, FL_T},
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Callable_Native` and `FL_T_Callable_Body`
[INFO] [stderr]   --> src/interpreter/main.rs:13:13
[INFO] [stderr]    |
[INFO] [stderr] 13 | use super::{Callable_Native, FL_T_Callable_Body};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParseResult`
[INFO] [stderr]  --> src/parser/combinators.rs:3:39
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::parser::{map, BoxedParser, ParseResult, Parser};
[INFO] [stderr]   |                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/parser/combinators.rs:92:20
[INFO] [stderr]    |
[INFO] [stderr] 92 |             if let (Ok(_)) = result {
[INFO] [stderr]    |                    ^     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 -             if let (Ok(_)) = result {
[INFO] [stderr] 92 +             if let Ok(_)  = result {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `either`, `left`, `parse_identifier`, `parse_number`, `right`, and `sequence_of_monomorphic`
[INFO] [stderr]  --> src/parser/parser.rs:4:25
[INFO] [stderr]   |
[INFO] [stderr] 4 |     any_of_monomorphic, either, left, one_or_more, optional, pair, parse_expr,
[INFO] [stderr]   |                         ^^^^^^  ^^^^
[INFO] [stderr] 5 |     parse_grouping_expr_2, parse_identifier, parse_literal, parse_number, parse_string_literal,
[INFO] [stderr]   |                            ^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stderr] 6 |     right, sequence_of_monomorphic, triplet, zero_or_more,
[INFO] [stderr]   |     ^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Statement`, `StringLiteral`, `fold_infix_binary_to_single_expr`, `parse_expr`, `parse_function_call`, and `parse_let_binding`
[INFO] [stderr]  --> src/parser/parser.test.rs:2:46
[INFO] [stderr]   |
[INFO] [stderr] 2 |     grammar::{decl_let_binding, Declaration, Statement},
[INFO] [stderr]   |                                              ^^^^^^^^^
[INFO] [stderr] 3 |     parser::{
[INFO] [stderr] 4 |         any_of_monomorphic, at_least_one_whitespace, fold_infix_binary_to_single_expr, map,
[INFO] [stderr]   |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 5 |         parse_binary_expression, parse_expr, parse_expr_literal, parse_function_call,
[INFO] [stderr]   |                                  ^^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 6 |         parse_let_binding, parse_literal, parse_number, parse_unary_expression, predicate,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |         BinaryExpr, BinaryOperator, Expr, FnCall, Identifier, LetBinding, LiteralExpr, Number,
[INFO] [stderr] 8 |         Parser, StringLiteral, UnaryExpr, UnaryOperator,
[INFO] [stderr]   |                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped_scope`
[INFO] [stderr]  --> src/parser/primitives.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     wrapped_scope, Declaration, Statement,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `and_then`, `either`, `optional_whitespace`, and `parse_function_call`
[INFO] [stderr]  --> src/parser/primitives.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     and_then, at_least_one_whitespace, either, optional_whitespace, parse_binary_expression,
[INFO] [stderr]   |     ^^^^^^^^                           ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |     parse_expr_literal, parse_function_call, parse_unary_expression, sequence_of_monomorphic,
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `map`
[INFO] [stderr]   --> src/parser/primitives.rs:13:25
[INFO] [stderr]    |
[INFO] [stderr] 13 |     any_of_monomorphic, map, optional, pair, parse_function_call_for_expr, triplet, ParseResult,
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `INTERPRETER_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/vm/common.rs:54:10
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpreterError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/vm/common.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     INTERPRET_COMPILE_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/vm/common.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     INTERPRET_RUNTIME_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LexerError` and `tokenize`
[INFO] [stderr]  --> src/vm/compiler.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::vm::scanner::{tokenize, LexedToken, Lexer, LexerError, TokenKind};
[INFO] [stderr]   |                          ^^^^^^^^                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OP_ADD`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_SUBTRACT`
[INFO] [stderr]  --> src/vm/compiler.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 |     Chunk, OpCode, Value, OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN, OP_SUBTRACT,
[INFO] [stderr]   |                           ^^^^^^               ^^^^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LexerError`
[INFO] [stderr]  --> src/vm/scanner.test.rs:3:40
[INFO] [stderr]   |
[INFO] [stderr] 3 |     tokenize_single_token, LexedToken, LexerError, TokenKind,
[INFO] [stderr]   |                                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::grammar::parse_declaration`
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::grammar::parse_declaration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BoxedParser` and `Expr`
[INFO] [stderr]   --> src/main.rs:23:21
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::parser::{BoxedParser, Expr, Parser};
[INFO] [stderr]    |                     ^^^^^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/combinators.rs:87:13
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let mut results = Vec::<R>::new();
[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: variable does not need to be mutable
[INFO] [stderr]   --> src/parser/combinators.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let mut rest = input;
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stderr]  --> src/interpreter/declaration.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stderr]  --> src/interpreter/expr.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stderr]  --> src/interpreter/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reconstructed`
[INFO] [stderr]   --> src/interpreter/declaration.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone()));
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/interpreter/expr.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let mut local_env = Rc::new(RefCell::new(Environment::new(Some(env.clone()))));
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]    --> src/interpreter/expr.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let res = RefCell::borrow_mut(&env).put(
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depth`
[INFO] [stderr]    --> src/interpreter/expr.rs:270:21
[INFO] [stderr]     |
[INFO] [stderr] 270 |         if let Some(depth) = maybe_depth {
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env`
[INFO] [stderr]    --> src/interpreter/expr.rs:567:5
[INFO] [stderr]     |
[INFO] [stderr] 567 |     env: Rc<RefCell<Environment>>,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/interpreter/main.rs:77:17
[INFO] [stderr]    |
[INFO] [stderr] 77 |             Err(e) => {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/interpreter/main.rs:99:17
[INFO] [stderr]    |
[INFO] [stderr] 99 |             Err(e) => {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err1`
[INFO] [stderr]   --> src/parser/combinators.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |         Err(err1) => match parser2.parse(input) {
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_err1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `results`
[INFO] [stderr]   --> src/parser/combinators.rs:87:13
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let mut results = Vec::<R>::new();
[INFO] [stderr]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rest`
[INFO] [stderr]   --> src/parser/combinators.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let mut rest = input;
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rest`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entry_pair`
[INFO] [stderr]    --> src/parser/primitives.rs:310:12
[INFO] [stderr]     |
[INFO] [stderr] 310 |         |((entry_pair, decl, (mid_pair, last_pair)), body)| ForLoop {
[INFO] [stderr]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_pair`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `matched`
[INFO] [stderr]    --> src/parser/primitives.rs:363:20
[INFO] [stderr]     |
[INFO] [stderr] 363 |         let (rest, matched) = p.parse(input)?;
[INFO] [stderr]     |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matched`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `contents`
[INFO] [stderr]    --> src/vm/common.rs:291:9
[INFO] [stderr]     |
[INFO] [stderr] 291 |     let contents = fs::read_to_string(path).expect("Filepath has to be valid");
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokenizer`
[INFO] [stderr]   --> src/vm/compiler.rs:51:15
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stderr]    |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokenizer`
[INFO] [stderr]   --> src/vm/compiler.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stderr]    |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `end`
[INFO] [stderr]    --> src/vm/scanner.rs:111:17
[INFO] [stderr]     |
[INFO] [stderr] 111 |             let end = start + bytes_skipped;
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `snippet_err_offset`
[INFO] [stderr]    --> src/vm/scanner.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let snippet_err_offset = 20;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snippet_err_offset`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/scanner.rs:193:28
[INFO] [stderr]     |
[INFO] [stderr] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |     let mut repl_env = Rc::new(RefCell::new(Environment::new(None)));
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]   --> src/main.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |     let parser = grammar::parse_program();
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Bool` is never constructed
[INFO] [stderr]    --> src/interpreter/expr.rs:381:5
[INFO] [stderr]     |
[INFO] [stderr] 379 | pub enum FL_T_Primitive {
[INFO] [stderr]     |          -------------- variant in this enum
[INFO] [stderr] 380 |     Str(String),
[INFO] [stderr] 381 |     Bool(bool),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FL_T_Primitive` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Native` is never constructed
[INFO] [stderr]    --> src/interpreter/expr.rs:406:5
[INFO] [stderr]     |
[INFO] [stderr] 405 | pub enum FL_T_Callable_Body {
[INFO] [stderr]     |          ------------------ variant in this enum
[INFO] [stderr] 406 |     Native(Callable_Native), // Rust
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FL_T_Callable_Body` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Clock` is never constructed
[INFO] [stderr]    --> src/interpreter/expr.rs:412:5
[INFO] [stderr]     |
[INFO] [stderr] 411 | pub enum Callable_Native {
[INFO] [stderr]     |          --------------- variant in this enum
[INFO] [stderr] 412 |     Clock,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Callable_Native` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FL_T_Bool` is never used
[INFO] [stderr]    --> src/interpreter/expr.rs:449:10
[INFO] [stderr]     |
[INFO] [stderr] 449 | pub enum FL_T_Bool {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `get_at` is never used
[INFO] [stderr]   --> src/interpreter/main.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl Environment {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn get_at(
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `environment` is never read
[INFO] [stderr]    --> src/interpreter/main.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub struct Interpreter<W: Write> {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub environment: Rc<RefCell<Environment>>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Interpreter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `preload_with` and `inject_into_global_env` are never used
[INFO] [stderr]    --> src/interpreter/main.rs:168:12
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl<W: Write> Interpreter<W> {
[INFO] [stderr]     | ----------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn preload_with(&mut self, m: HashMap<String, Rc<FL_T>>) -> InterpreterResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn inject_into_global_env(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `either_polymorphic` is never used
[INFO] [stderr]   --> src/parser/combinators.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn either_polymorphic<'a, R1, R2>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `predicate` is never used
[INFO] [stderr]   --> src/parser/parser.rs:26:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub trait Parser<'a, Output> {
[INFO] [stderr]    |           ------ method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 26 |     fn predicate<F>(self, pred_fn: F) -> BoxedParser<'a, Output>
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sequence_of` is never used
[INFO] [stderr]    --> src/parser/parser.rs:250:4
[INFO] [stderr]     |
[INFO] [stderr] 250 | fn sequence_of() {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mock_number_literal_expr` is never used
[INFO] [stderr]   --> src/parser/parser.test.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn mock_number_literal_expr(num: i32) -> Expr {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_identifier_as_identifier` is never used
[INFO] [stderr]   --> src/parser/primitives.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub fn parse_identifier_as_identifier<'a>() -> impl Parser<'a, Identifier> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `OpCode` is never used
[INFO] [stderr]  --> src/vm/common.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub type OpCode = u8;
[INFO] [stderr]   |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_RETURN` is never used
[INFO] [stderr]   --> src/vm/common.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const OP_RETURN: OpCode = 0x0;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_CONSTANT` is never used
[INFO] [stderr]   --> src/vm/common.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const OP_CONSTANT: OpCode = 0x1;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_NEGATE` is never used
[INFO] [stderr]   --> src/vm/common.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const OP_NEGATE: OpCode = 0x2;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_ADD` is never used
[INFO] [stderr]   --> src/vm/common.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const OP_ADD: OpCode = 0x3;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_SUBTRACT` is never used
[INFO] [stderr]   --> src/vm/common.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const OP_SUBTRACT: OpCode = 0x4;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_MULTIPLY` is never used
[INFO] [stderr]   --> src/vm/common.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const OP_MULTIPLY: OpCode = 0x5;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_DIVIDE` is never used
[INFO] [stderr]   --> src/vm/common.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const OP_DIVIDE: OpCode = 0x6;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `primitive_instruction` is never used
[INFO] [stderr]   --> src/vm/common.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn primitive_instruction(name: &str, offset: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `constant_instruction` is never used
[INFO] [stderr]   --> src/vm/common.rs:27:4
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn constant_instruction(name: &str, chunk: &Chunk, offset: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Value` is never used
[INFO] [stderr]   --> src/vm/common.rs:37:10
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub type Value = f64;
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_value` is never used
[INFO] [stderr]   --> src/vm/common.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn print_value(val: Value) {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ValueArray` is never constructed
[INFO] [stderr]   --> src/vm/common.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct ValueArray {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CAPACITY_LOW_THRESHOLD` is never used
[INFO] [stderr]   --> src/vm/common.rs:49:7
[INFO] [stderr]    |
[INFO] [stderr] 49 | const CAPACITY_LOW_THRESHOLD: usize = 8;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CAPACITY_INCREMENT_MULTIPLIER` is never used
[INFO] [stderr]   --> src/vm/common.rs:50:7
[INFO] [stderr]    |
[INFO] [stderr] 50 | const CAPACITY_INCREMENT_MULTIPLIER: usize = 2;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `STACK_CAPACITY` is never used
[INFO] [stderr]   --> src/vm/common.rs:51:7
[INFO] [stderr]    |
[INFO] [stderr] 51 | const STACK_CAPACITY: usize = 256;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `INTERPRETER_ERROR` is never used
[INFO] [stderr]   --> src/vm/common.rs:54:10
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub enum INTERPRETER_ERROR {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `VmResult` is never used
[INFO] [stderr]   --> src/vm/common.rs:59:10
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub type VmResult<T> = Result<T, INTERPRETER_ERROR>;
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEBUG_TRACE_EXECUTION` is never used
[INFO] [stderr]   --> src/vm/common.rs:61:7
[INFO] [stderr]    |
[INFO] [stderr] 61 | const DEBUG_TRACE_EXECUTION: bool = true;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VM` is never constructed
[INFO] [stderr]   --> src/vm/common.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct VM {
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `interpret`, `with_chunk`, `push`, `pop`, and `run` are never used
[INFO] [stderr]   --> src/vm/common.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl VM {
[INFO] [stderr]    | ------- associated items in this implementation
[INFO] [stderr] 70 |     pub fn interpret(chunk: Chunk) -> VmResult<()> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stderr] ...
[INFO] [stdout] running 58 tests
[INFO] [stderr] 76 |     pub fn with_chunk(chunk: Chunk) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn push(&mut self, val: Value) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub fn pop(&mut self) -> Value {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     fn run(&mut self) -> VmResult<()> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_byte` is never used
[INFO] [stderr]    --> src/vm/common.rs:145:4
[INFO] [stderr]     |
[INFO] [stderr] 145 | fn read_byte(vm: &mut VM) -> u8 {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_const` is never used
[INFO] [stderr]    --> src/vm/common.rs:153:4
[INFO] [stderr]     |
[INFO] [stderr] 153 | fn read_const(vm: &mut VM) -> Value {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `upgrade_capacity`, and `write` are never used
[INFO] [stderr]    --> src/vm/common.rs:160:12
[INFO] [stderr]     |
[INFO] [stderr] 159 | impl ValueArray {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 160 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     fn upgrade_capacity(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn write(&mut self, val: Value) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Chunk` is never constructed
[INFO] [stderr]    --> src/vm/common.rs:188:12
[INFO] [stderr]     |
[INFO] [stderr] 188 | pub struct Chunk {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_constant`, `write`, `upgrade_capacity`, and `disassemble` are never used
[INFO] [stderr]    --> src/vm/common.rs:197:12
[INFO] [stderr]     |
[INFO] [stderr] 196 | impl Chunk {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] 197 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 207 |     pub fn add_constant(&mut self, val: Value) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 213 |     pub fn write(&mut self, byte: OpCode, line: u32) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     fn upgrade_capacity(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn disassemble(&self, name: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `disassemble_instruction` is never used
[INFO] [stderr]    --> src/vm/common.rs:247:8
[INFO] [stderr]     |
[INFO] [stderr] 247 | pub fn disassemble_instruction(chunk: &Chunk, offset: usize) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `interpret` is never used
[INFO] [stderr]    --> src/vm/common.rs:282:4
[INFO] [stderr]     |
[INFO] [stderr] 282 | fn interpret(source: &str) -> VmResult<()> {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `CompilerResult` is never used
[INFO] [stderr]  --> src/vm/compiler.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub type CompilerResult<T> = Result<T, String>; // Change Err type later
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Compiler` is never constructed
[INFO] [stderr]  --> src/vm/compiler.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | struct Compiler<'a> {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compile` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn compile(source: &str) -> CompilerResult<Chunk> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `make_error_at_lexeme` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl<'a> Compiler<'a> {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] 39 |     fn make_error_at_lexeme(&self, tok: LexedToken, msg: &str) -> CompilerResult<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expression` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn expression(tokenizer: &mut Lexer) {}
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `number` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn number(tokenizer: &mut Lexer) {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `emit_return` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:57:4
[INFO] [stderr]    |
[INFO] [stderr] 57 | fn emit_return(chunk: &mut Chunk) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_chunk` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:61:4
[INFO] [stderr]    |
[INFO] [stderr] 61 | fn write_chunk(chunk: &mut Chunk, byte: u8) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_constant` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:65:4
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn make_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<OpCode> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_constant` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn write_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<()> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_chunk_byte_tuple` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:83:4
[INFO] [stderr]    |
[INFO] [stderr] 83 | fn write_chunk_byte_tuple(chunk: &mut Chunk, byte1: u8, byte2: u8) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `consume` is never used
[INFO] [stderr]   --> src/vm/compiler.rs:88:4
[INFO] [stderr]    |
[INFO] [stderr] 88 | fn consume(tokenizer: &mut Lexer, kind: TokenKind) -> CompilerResult<()> {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Comma`, `Dot`, `AND`, `OR`, and `Root` are never constructed
[INFO] [stderr]   --> src/vm/scanner.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum TokenKind {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Comma,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 19 |     Dot,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     AND,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 39 |     OR,
[INFO] [stderr]    |     ^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     Root,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `had_error` and `panic_mode` are never read
[INFO] [stderr]   --> src/vm/scanner.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub struct Lexer<'a> {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub had_error: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 64 |     pub panic_mode: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `consume` and `panic_mode_on` are never used
[INFO] [stderr]   --> src/vm/scanner.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 73 | impl<'a> Lexer<'a> {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn consume(&mut self, token_kind: TokenKind) -> LexerResult<()> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 99 |     pub fn panic_mode_on(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LexerError` is never used
[INFO] [stderr]    --> src/vm/scanner.rs:144:10
[INFO] [stderr]     |
[INFO] [stderr] 144 | pub enum LexerError {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `tokenize_string_literal` is never used
[INFO] [stderr]    --> src/vm/scanner.rs:193:4
[INFO] [stderr]     |
[INFO] [stderr] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/interpreter/main.rs:95:17
[INFO] [stderr]    |
[INFO] [stderr] 95 |                 RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[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] 95 |                 let _ = RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone());
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/interpreter/main.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         me.load_defaults();
[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] 135 |         let _ = me.load_defaults();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/interpreter/resolver.rs:191:15
[INFO] [stderr]     |
[INFO] [stderr] 191 |         while i >= 0 {
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]    --> src/parser/parser.rs:259:47
[INFO] [stderr]     |
[INFO] [stderr] 259 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stderr]     |                                               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]    --> src/parser/parser.rs:269:47
[INFO] [stderr]     |
[INFO] [stderr] 269 |             .map(|op_str| parse_literal(op_str.clone()))
[INFO] [stderr]     |                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser/parser.rs:274:21
[INFO] [stderr]     |
[INFO] [stderr] 274 | fn next_char(input: &str) -> ParseResult<char> {
[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] 274 | fn next_char(input: &str) -> ParseResult<'_, char> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: `forklift` (bin "forklift" test) generated 125 warnings (run `cargo fix --bin "forklift" -p forklift --tests` to apply 50 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/forklift-6c88a059753611d7)
[INFO] [stdout] test grammar::tests::test_parse_declaration ... ok
[INFO] [stdout] test grammar::tests::test_parse_statement ... ok
[INFO] [stdout] test interpreter::expr::tests::test_literal_expr ... ok
[INFO] [stdout] test interpreter::expr::tests::test_desugar_for_loop ... ok
[INFO] [stdout] test interpreter::expr::tests::test_binary_expr ... ok
[INFO] [stdout] test parser::combinators::tests::test_left ... ok
[INFO] [stdout] test parser::combinators::tests::test_one_or_more ... ok
[INFO] [stdout] test interpreter::expr::tests::test_unary_expr ... ok
[INFO] [stdout] test parser::combinators::tests::test_one_or_more_fails ... ok
[INFO] [stdout] test parser::combinators::tests::test_optional ... ok
[INFO] [stdout] test parser::combinators::tests::test_pair_parser ... ok
[INFO] [stdout] test parser::combinators::tests::test_sequence_of_monomorphic ... ok
[INFO] [stdout] test parser::combinators::tests::test_optional_in_sequence ... ok
[INFO] [stdout] test parser::combinators::tests::test_zero_or_more ... ok
[INFO] [stdout] test parser::parser::tests::test_any_of_monomorphic ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_binary_expression ... ok
[INFO] [stdout] test parser::parser::tests::test_function_call_in_assignment ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_expr_literal ... ok
[INFO] [stdout] test parser::parser::tests::test_map ... ok
[INFO] [stdout] test parser::parser::tests::test_any_char_and_pred ... ok
[INFO] [stdout] test parser::parser::tests::test_at_least_one_whitespace ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_unary_expr ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_binary_with_grouping ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_function_call_with_unary_precedence ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_identifier ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_fn_definition ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_if_block ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_grouping_expr ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_for_loop ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_if_block_with_else ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_number ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_lparen ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_number_float ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_let_binding ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_print_statement ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_function_call ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_while_loop ... ok
[INFO] [stdout] test vm::scanner::tests::test_e2e ... ok
[INFO] [stdout] test vm::scanner::tests::test_skip_while_has_whitespace ... ok
[INFO] [stdout] test vm::scanner::tests::test_skip_while_has_whitespace_plain_space ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_arbitrary_number ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_arbitrary_number_error ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_return_statement ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_string_literal ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_ident ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_ident_error ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_ident_with_underscore ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_single_token ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_single_token_special_cases ... ok
[INFO] [stdout] test e2e_tests::test_fibonacci ... FAILED
[INFO] [stdout] test e2e_tests::test_for_while_desugar ... FAILED
[INFO] [stdout] test e2e_tests::test_functions ... FAILED
[INFO] [stdout] test e2e_tests::test_variables ... FAILED
[INFO] [stdout] test e2e_tests::test_stdout_print ... FAILED
[INFO] [stdout] test e2e_tests::test_while_loop ... FAILED
[INFO] [stdout] test e2e_tests::test_if_else ... FAILED
[INFO] [stdout] test e2e_tests::test_logical_comparison_arithmetic ... FAILED
[INFO] [stdout] test parser::combinators::tests::test_right ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_fibonacci stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_fibonacci' (24) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc622 - forklift::e2e_tests::test_fibonacci::h99f98a412968b595
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:106:5
[INFO] [stdout]   23:     0x55f7595cc647 - forklift::e2e_tests::test_fibonacci::{{closure}}::hbc407677f902676a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:105:20
[INFO] [stdout]   24:     0x55f75959c036 - core::ops::function::FnOnce::call_once::h5e2f1deff8239a88
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_for_while_desugar stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_for_while_desugar' (25) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cd612 - forklift::e2e_tests::test_for_while_desugar::h5bb16285de0baf0b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:96:5
[INFO] [stdout]   23:     0x55f7595cd637 - forklift::e2e_tests::test_for_while_desugar::{{closure}}::h582fa49d30463f53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:95:28
[INFO] [stdout]   24:     0x55f75959c566 - core::ops::function::FnOnce::call_once::hbaa6825dd87e90ae
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_functions stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_functions' (26) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc672 - forklift::e2e_tests::test_functions::h142a1bb243566625
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:111:5
[INFO] [stdout]   23:     0x55f7595cc697 - forklift::e2e_tests::test_functions::{{closure}}::h64a1b122c708da56
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:110:20
[INFO] [stdout]   24:     0x55f75959c6a6 - core::ops::function::FnOnce::call_once::hc959ccf18993a7b8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_variables stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_variables' (30) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc6c2 - forklift::e2e_tests::test_variables::hd89ae46632b5de6a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:81:5
[INFO] [stdout]   23:     0x55f7595cc6e7 - forklift::e2e_tests::test_variables::{{closure}}::h3494a4d8f4a14251
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:80:20
[INFO] [stdout]   24:     0x55f75959be36 - core::ops::function::FnOnce::call_once::h38f2e718843d96b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_stdout_print stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_stdout_print' (29) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc762 - forklift::e2e_tests::test_stdout_print::h64893029e7f37fde
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:76:5
[INFO] [stdout]   23:     0x55f7595cc787 - forklift::e2e_tests::test_stdout_print::{{closure}}::h555bd1c480a64d19
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:75:23
[INFO] [stdout]   24:     0x55f75959beb6 - core::ops::function::FnOnce::call_once::h4eccd0982b279558
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_while_loop stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_while_loop' (31) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc712 - forklift::e2e_tests::test_while_loop::hfd789a99577e12bb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:91:5
[INFO] [stdout]   23:     0x55f7595cc737 - forklift::e2e_tests::test_while_loop::{{closure}}::h0ba2e975d47b0186
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:90:21
[INFO] [stdout]   24:     0x55f75959c5a6 - core::ops::function::FnOnce::call_once::hbd05b4f7960b768e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_if_else stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_if_else' (27) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cc5d2 - forklift::e2e_tests::test_if_else::hc62ec9b86da133b6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:86:5
[INFO] [stdout]   23:     0x55f7595cc5f7 - forklift::e2e_tests::test_if_else::{{closure}}::h2bfa3d9ef8fec21c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:85:18
[INFO] [stdout]   24:     0x55f75959c906 - core::ops::function::FnOnce::call_once::heb5c39170edbc0eb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_logical_comparison_arithmetic stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_logical_comparison_arithmetic' (28) panicked at src/../test/mod.rs:41:10:
[INFO] [stdout] Can not create a new file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f75964de82 - std::backtrace_rs::backtrace::libunwind::trace::h786de35fecf3582f
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55f75964de82 - std::backtrace_rs::backtrace::trace_unsynchronized::h4a7da1a2a64387f1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55f75964de82 - std::sys::backtrace::_print_fmt::h6bd7d500070c788c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55f75964de82 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d82c1afff976903
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55f75965f7bf - core::fmt::rt::Argument::fmt::hc4ce6d643d397690
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x55f75965f7bf - core::fmt::write::hb1e7ca88b6a3936e
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x55f75961b693 - std::io::default_write_fmt::haffd49d96f1984a8
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55f75961b693 - std::io::Write::write_fmt::h027871c57cf57c01
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x55f7596276c2 - std::sys::backtrace::BacktraceLock::print::ha2430613ee79d059
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x55f75962c19f - std::panicking::default_hook::{{closure}}::hdbd2db9e5c303cf6
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x55f75962c031 - std::panicking::default_hook::hed93c70cba5fdcf0
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x55f7595edeee - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd0ee8b569efc6a07
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x55f7595edeee - test::test_main_with_exit_callback::{{closure}}::hf10864b576ecd15d
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55f75962c7af - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3a55ca34534c0d00
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x55f75962c7af - std::panicking::panic_with_hook::h3862d766c2cec19b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x55f75962c60a - std::panicking::panic_handler::{{closure}}::hb95eb402b5e28ee1
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x55f7596277f9 - std::sys::backtrace::__rust_end_short_backtrace::hf73a26dc1835d85a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x55f75960f82d - __rustc[6ed5915ee467787]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x55f759669200 - core::panicking::panic_fmt::h3454303eb8e6f7cd
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55f7596682d6 - core::result::unwrap_failed::h2380020e6daeb464
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x55f75956863e - core::result::Result<T,E>::expect::h52d2e5cfe150a4c4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55f7595cce6c - forklift::e2e_tests::run_stdout_test_case::h3757fa187374301f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x55f7595cd662 - forklift::e2e_tests::test_logical_comparison_arithmetic::h4b9cd248e2f7c0b6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:101:5
[INFO] [stdout]   23:     0x55f7595cd687 - forklift::e2e_tests::test_logical_comparison_arithmetic::{{closure}}::h91a83ac779e342b1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:100:40
[INFO] [stdout]   24:     0x55f75959bf76 - core::ops::function::FnOnce::call_once::h51e3a0a87c8d4e58
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f7595edccb - core::ops::function::FnOnce::call_once::ha729ee35d2fab541
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f7595edccb - test::__rust_begin_short_backtrace::ha40f4db8207e1111
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x55f759601d4d - test::run_test_in_process::{{closure}}::hc1b77cda5d44f0f3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x55f759601d4d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1dbea1de64785521
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x55f759601d4d - std::panicking::catch_unwind::do_call::hd5febe9affd5a1b3
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x55f759601d4d - std::panicking::catch_unwind::h51ea89627559b6f4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x55f759601d4d - std::panic::catch_unwind::hb8b8c2367cae3d66
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x55f759601d4d - test::run_test_in_process::ha5b55801407ea100
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x55f759601d4d - test::run_test::{{closure}}::h0b9d4072b527abf5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x55f7595db264 - test::run_test::{{closure}}::hb1056b5731205822
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x55f7595db264 - std::sys::backtrace::__rust_begin_short_backtrace::hb61ff5a34023c7ef
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hb0a83c0e8b353cff
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x55f7595deb9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb4f32cb008535298
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x55f7595deb9a - std::panicking::catch_unwind::do_call::h16d110e4fc35789a
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x55f7595deb9a - std::panicking::catch_unwind::hea9118f355699c4b
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x55f7595deb9a - std::panic::catch_unwind::hf4b3c2a06d3f42f5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x55f7595deb9a - std::thread::Builder::spawn_unchecked_::{{closure}}::h3f4cb733a52d53d5
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x55f7595deb9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4052f0967b37caeb
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f759622bff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ec433abd3f148b4
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x55f759622bff - std::sys::thread::unix::Thread::new::thread_start::he514622d3d7ba65c
[INFO] [stdout]                                at /rustc/1ef7943ee607160a564655b6596f83670ef95df5/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x753b0ac75aa4 - <unknown>
[INFO] [stdout]   46:     0x753b0ad02a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     e2e_tests::test_fibonacci
[INFO] [stdout]     e2e_tests::test_for_while_desugar
[INFO] [stdout]     e2e_tests::test_functions
[INFO] [stdout]     e2e_tests::test_if_else
[INFO] [stdout]     e2e_tests::test_logical_comparison_arithmetic
[INFO] [stdout]     e2e_tests::test_stdout_print
[INFO] [stdout]     e2e_tests::test_variables
[INFO] [stdout]     e2e_tests::test_while_loop
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 50 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin forklift`
[INFO] running `Command { std: "docker" "inspect" "c4ffc74f9755e6e9f5eb4480ed6f0dcfcc4f1d354df6481a89c4641e218425d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4ffc74f9755e6e9f5eb4480ed6f0dcfcc4f1d354df6481a89c4641e218425d4", kill_on_drop: false }`
[INFO] [stdout] c4ffc74f9755e6e9f5eb4480ed6f0dcfcc4f1d354df6481a89c4641e218425d4
