[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#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/4b1dden/forklift on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 65388a0774400f474f2eacc79ec7b0dc7003553f087bd997a36f72de14f65274
[INFO] running `Command { std: "docker" "start" "-a" "65388a0774400f474f2eacc79ec7b0dc7003553f087bd997a36f72de14f65274", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "65388a0774400f474f2eacc79ec7b0dc7003553f087bd997a36f72de14f65274", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65388a0774400f474f2eacc79ec7b0dc7003553f087bd997a36f72de14f65274", kill_on_drop: false }`
[INFO] [stdout] 65388a0774400f474f2eacc79ec7b0dc7003553f087bd997a36f72de14f65274
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d15cc3367d453c66bfed2d97517ba077ac0a468a8f80af5b0657578f6664826
[INFO] running `Command { std: "docker" "start" "-a" "6d15cc3367d453c66bfed2d97517ba077ac0a468a8f80af5b0657578f6664826", kill_on_drop: false }`
[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 1.47s
[INFO] running `Command { std: "docker" "inspect" "6d15cc3367d453c66bfed2d97517ba077ac0a468a8f80af5b0657578f6664826", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d15cc3367d453c66bfed2d97517ba077ac0a468a8f80af5b0657578f6664826", kill_on_drop: false }`
[INFO] [stdout] 6d15cc3367d453c66bfed2d97517ba077ac0a468a8f80af5b0657578f6664826
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 641aa51edc86f55275481a64f8eb5c448d6c627a70e42bead2fbd0ecc8a4987f
[INFO] running `Command { std: "docker" "start" "-a" "641aa51edc86f55275481a64f8eb5c448d6c627a70e42bead2fbd0ecc8a4987f", 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 0.88s
[INFO] running `Command { std: "docker" "inspect" "641aa51edc86f55275481a64f8eb5c448d6c627a70e42bead2fbd0ecc8a4987f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "641aa51edc86f55275481a64f8eb5c448d6c627a70e42bead2fbd0ecc8a4987f", kill_on_drop: false }`
[INFO] [stdout] 641aa51edc86f55275481a64f8eb5c448d6c627a70e42bead2fbd0ecc8a4987f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 10d38e45df589851afdd60ad06ae00fcaeaa995f3f4c28b38b370a5caec5505f
[INFO] running `Command { std: "docker" "start" "-a" "10d38e45df589851afdd60ad06ae00fcaeaa995f3f4c28b38b370a5caec5505f", 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] [stderr] ...
[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.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/forklift-ec24955073a9529e)
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test interpreter::expr::tests::test_binary_expr ... ok
[INFO] [stdout] test grammar::tests::test_parse_declaration ... ok
[INFO] [stdout] test interpreter::expr::tests::test_literal_expr ... ok
[INFO] [stdout] test parser::combinators::tests::test_left ... ok
[INFO] [stdout] test interpreter::expr::tests::test_desugar_for_loop ... ok
[INFO] [stdout] test interpreter::expr::tests::test_unary_expr ... ok
[INFO] [stdout] test parser::combinators::tests::test_one_or_more ... ok
[INFO] [stdout] test grammar::tests::test_parse_statement ... ok
[INFO] [stdout] test parser::combinators::tests::test_one_or_more_fails ... ok
[INFO] [stdout] test parser::combinators::tests::test_optional_in_sequence ... ok
[INFO] [stdout] test parser::combinators::tests::test_pair_parser ... ok
[INFO] [stdout] test parser::combinators::tests::test_right ... ok
[INFO] [stdout] test parser::combinators::tests::test_optional ... ok
[INFO] [stdout] test parser::combinators::tests::test_zero_or_more ... ok
[INFO] [stdout] test parser::parser::tests::test_any_char_and_pred ... ok
[INFO] [stdout] test parser::parser::tests::test_any_of_monomorphic ... ok
[INFO] [stdout] test parser::combinators::tests::test_sequence_of_monomorphic ... ok
[INFO] [stdout] test parser::parser::tests::test_map ... ok
[INFO] [stdout] test parser::parser::tests::test_at_least_one_whitespace ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_expr_literal ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_function_call ... ok
[INFO] [stdout] test parser::parser::tests::test_function_call_in_assignment ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_binary_expression ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_binary_with_grouping ... ok
[INFO] [stdout] test parser::parser::tests::test_parse_unary_expr ... 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_grouping_expr ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_lparen ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_let_binding ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_number ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_if_block ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_for_loop ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_number_float ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_print_statement ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_fn_definition ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_string_literal ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_if_block_with_else ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_return_statement ... ok
[INFO] [stdout] test vm::scanner::tests::test_skip_while_has_whitespace ... ok
[INFO] [stdout] test vm::scanner::tests::test_e2e ... 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 vm::scanner::tests::test_tokenize_ident ... ok
[INFO] [stdout] test parser::primitives::tests::test_parse_while_loop ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_ident_with_underscore ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_single_token_special_cases ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_ident_error ... ok
[INFO] [stdout] test vm::scanner::tests::test_tokenize_single_token ... ok
[INFO] [stdout] test e2e_tests::test_for_while_desugar ... FAILED
[INFO] [stdout] test e2e_tests::test_stdout_print ... FAILED
[INFO] [stdout] test e2e_tests::test_fibonacci ... FAILED
[INFO] [stdout] test e2e_tests::test_variables ... 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_functions ... FAILED
[INFO] [stdout] test e2e_tests::test_logical_comparison_arithmetic ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_for_while_desugar stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_for_while_desugar' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb712 - forklift[4f23902f3a12ba7]::e2e_tests::test_for_while_desugar
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:96:5
[INFO] [stdout]   23:     0x5de132dc9d67 - forklift[4f23902f3a12ba7]::e2e_tests::test_for_while_desugar::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:95:28
[INFO] [stdout]   24:     0x5de132dc4526 - <forklift[4f23902f3a12ba7]::e2e_tests::test_for_while_desugar::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - 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' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb6f2 - forklift[4f23902f3a12ba7]::e2e_tests::test_stdout_print
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:76:5
[INFO] [stdout]   23:     0x5de132dc9d37 - forklift[4f23902f3a12ba7]::e2e_tests::test_stdout_print::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:75:23
[INFO] [stdout]   24:     0x5de132dc44e6 - <forklift[4f23902f3a12ba7]::e2e_tests::test_stdout_print::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_fibonacci stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_fibonacci' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb672 - forklift[4f23902f3a12ba7]::e2e_tests::test_fibonacci
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:106:5
[INFO] [stdout]   23:     0x5de132dc9c77 - forklift[4f23902f3a12ba7]::e2e_tests::test_fibonacci::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:105:20
[INFO] [stdout]   24:     0x5de132dc43e6 - <forklift[4f23902f3a12ba7]::e2e_tests::test_fibonacci::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stderr] error: test failed, to rerun pass `--bin forklift`
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_variables stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_variables' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb6b2 - forklift[4f23902f3a12ba7]::e2e_tests::test_variables
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:81:5
[INFO] [stdout]   23:     0x5de132dc9cd7 - forklift[4f23902f3a12ba7]::e2e_tests::test_variables::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:80:20
[INFO] [stdout]   24:     0x5de132dc4466 - <forklift[4f23902f3a12ba7]::e2e_tests::test_variables::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - 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' (32) 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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb6d2 - forklift[4f23902f3a12ba7]::e2e_tests::test_while_loop
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:91:5
[INFO] [stdout]   23:     0x5de132dc9d07 - forklift[4f23902f3a12ba7]::e2e_tests::test_while_loop::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:90:21
[INFO] [stdout]   24:     0x5de132dc44a6 - <forklift[4f23902f3a12ba7]::e2e_tests::test_while_loop::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - 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' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb652 - forklift[4f23902f3a12ba7]::e2e_tests::test_if_else
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:86:5
[INFO] [stdout]   23:     0x5de132dc9c47 - forklift[4f23902f3a12ba7]::e2e_tests::test_if_else::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:85:18
[INFO] [stdout]   24:     0x5de132dc43a6 - <forklift[4f23902f3a12ba7]::e2e_tests::test_if_else::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_tests::test_functions stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_tests::test_functions' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb692 - forklift[4f23902f3a12ba7]::e2e_tests::test_functions
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:111:5
[INFO] [stdout]   23:     0x5de132dc9ca7 - forklift[4f23902f3a12ba7]::e2e_tests::test_functions::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:110:20
[INFO] [stdout]   24:     0x5de132dc4426 - <forklift[4f23902f3a12ba7]::e2e_tests::test_functions::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - 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' (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:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5de132e4b052 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5de132e4b052 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5de132e4b052 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5de132e61c3a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5de132e61c3a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5de132e4fe56 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5de132e4fe56 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5de132e2939f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5de132e2939f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5de132e42ee9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5de132dddafe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5de132dddafe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5de132e430a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5de132e430a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5de132e29458 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5de132e1e529 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5de132e2a2ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5de132e6237c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5de132e620f2 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5de132d70d2e - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5de132dcae8d - forklift[4f23902f3a12ba7]::e2e_tests::run_stdout_test_case
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:41:10
[INFO] [stdout]   22:     0x5de132dcb732 - forklift[4f23902f3a12ba7]::e2e_tests::test_logical_comparison_arithmetic
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:101:5
[INFO] [stdout]   23:     0x5de132dc9d97 - forklift[4f23902f3a12ba7]::e2e_tests::test_logical_comparison_arithmetic::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../test/mod.rs:100:40
[INFO] [stdout]   24:     0x5de132dc4566 - <forklift[4f23902f3a12ba7]::e2e_tests::test_logical_comparison_arithmetic::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5de132dd1eab - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5de132dd1eab - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5de132dde70a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5de132dde70a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5de132dde70a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5de132dde70a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5de132dd9cb4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5de132dd9cb4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5de132de1202 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5de132de1202 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5de132de1202 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5de132de1202 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5de132de1202 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5de132e4a55f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x5de132e4a55f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x73afe6bdfaa4 - <unknown>
[INFO] [stdout]   46:     0x73afe6c6ca64 - 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.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "10d38e45df589851afdd60ad06ae00fcaeaa995f3f4c28b38b370a5caec5505f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10d38e45df589851afdd60ad06ae00fcaeaa995f3f4c28b38b370a5caec5505f", kill_on_drop: false }`
[INFO] [stdout] 10d38e45df589851afdd60ad06ae00fcaeaa995f3f4c28b38b370a5caec5505f
