[INFO] cloning repository https://github.com/Kosyness/Fort500
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kosyness/Fort500" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKosyness%2FFort500", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKosyness%2FFort500'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a393f90cdeab925f510b17fd1b0493c325d1bd0d
[INFO] testing Kosyness/Fort500 against beta-2023-04-20 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKosyness%2FFort500" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Kosyness/Fort500 on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Kosyness/Fort500
[INFO] finished tweaking git repo https://github.com/Kosyness/Fort500
[INFO] tweaked toml for git repo https://github.com/Kosyness/Fort500 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Kosyness/Fort500 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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded truthy v1.1.0
[INFO] [stderr]   Downloaded pad v0.1.6
[INFO] [stderr]   Downloaded read_input v0.8.6
[INFO] [stderr]   Downloaded serde-value v0.6.0
[INFO] [stderr]   Downloaded ptree v0.3.2
[INFO] [stderr]   Downloaded log-derive v0.4.1
[INFO] [stderr]   Downloaded tint v1.0.1
[INFO] [stderr]   Downloaded lexical v6.0.0
[INFO] [stderr]   Downloaded lexical-core v0.8.0
[INFO] [stderr]   Downloaded lexical-write-float v0.8.0
[INFO] [stderr]   Downloaded lexical-parse-float v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d8ca2a8987070a6da68e0c50c366d6067cc3eee6b076d751d2d8d0c2ae4426bf
[INFO] running `Command { std: "docker" "start" "-a" "d8ca2a8987070a6da68e0c50c366d6067cc3eee6b076d751d2d8d0c2ae4426bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8ca2a8987070a6da68e0c50c366d6067cc3eee6b076d751d2d8d0c2ae4426bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8ca2a8987070a6da68e0c50c366d6067cc3eee6b076d751d2d8d0c2ae4426bf", kill_on_drop: false }`
[INFO] [stdout] d8ca2a8987070a6da68e0c50c366d6067cc3eee6b076d751d2d8d0c2ae4426bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83d9c569845e56fcb0edb919a43de8b14147e8f73f07a5b9a0ad7642e6d9d1d7
[INFO] running `Command { std: "docker" "start" "-a" "83d9c569845e56fcb0edb919a43de8b14147e8f73f07a5b9a0ad7642e6d9d1d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling libc v0.2.99
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling bitflags v1.3.1
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling radium v0.5.3
[INFO] [stderr]    Compiling lexical-util v0.8.1
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.66
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling ahash v0.7.4
[INFO] [stderr]    Compiling nom v6.2.1
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling instant v0.1.10
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling linked-hash-map v0.5.4
[INFO] [stderr]    Compiling wyz v0.2.0
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling funty v1.1.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling lock_api v0.4.4
[INFO] [stderr]    Compiling tokio v1.10.0
[INFO] [stderr]    Compiling num-bigint v0.4.0
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling lexical-write-integer v0.8.0
[INFO] [stderr]    Compiling lexical-parse-integer v0.8.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling bitvec v0.19.5
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling ordered-float v1.1.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling dirs-sys v0.3.6
[INFO] [stderr]    Compiling mio v0.7.13
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling humansize v1.1.1
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling rust-ini v0.13.0
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling regex v1.4.6
[INFO] [stderr]    Compiling serde_test v0.8.23
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling askama_escape v0.10.1
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling tint v1.0.1
[INFO] [stderr]    Compiling linked-hash-map v0.3.0
[INFO] [stderr]    Compiling directories v3.0.2
[INFO] [stderr]    Compiling lexical-write-float v0.8.0
[INFO] [stderr]    Compiling lexical-parse-float v0.8.0
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling anyhow v1.0.43
[INFO] [stderr]    Compiling strum v0.21.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling lexical v5.2.2
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling pad v0.1.6
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling truthy v1.1.0
[INFO] [stderr]    Compiling read_input v0.8.6
[INFO] [stderr]    Compiling lexical-core v0.8.0
[INFO] [stderr]    Compiling serde-hjson v0.9.1
[INFO] [stderr]    Compiling env_logger v0.9.0
[INFO] [stderr]    Compiling lexical v6.0.0
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling strum_macros v0.21.1
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling log-derive v0.4.1
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling serde-value v0.6.0
[INFO] [stderr]    Compiling serde_yaml v0.8.20
[INFO] [stderr]    Compiling askama_shared v0.11.1
[INFO] [stderr]    Compiling config v0.10.1
[INFO] [stderr]    Compiling lexer v0.1.0 (/opt/rustwide/workdir/lexer)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> lexer/src/lib.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     todo!("handle backslash");
[INFO] [stdout]     |                     ------------------------- any code following this expression is unreachable
[INFO] [stdout] 179 |                     true
[INFO] [stdout]     |                     ^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             type_ = Some(Type::Positive);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> lexer/src/lib.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn handle_e_number(&mut self, input: String) -> LexerResult<Token> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:33
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:33
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]    --> lexer/src/lib.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let (first, second) = {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `original`, `chars`, and `current_pos` are never read
[INFO] [stdout]   --> lexer/src/lib.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StringInput<'chars> {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 47 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 48 |     chars: Peekable<Chars<'chars>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     current_pos: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StringInput` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original` is never read
[INFO] [stdout]   --> lexer/src/lib.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lexer<'chars> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 68 |     input: Peekable<Chars<'chars>>,
[INFO] [stdout] 69 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_word` is never used
[INFO] [stdout]    --> lexer/src/token.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl Keyword {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 488 |     fn into_word(self) -> Word {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ptree v0.3.2
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: unused import: `LexerResult`
[INFO] [stdout]  --> parser/src/cursor.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lexer::{Lexer, LexerResult, TokenError, TokenSpan, token::{Identifier, Token, Word}};
[INFO] [stdout]   |                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinOp`
[INFO] [stdout]  --> parser/src/lib.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{TokenSpan, token::{AssignOp, BinOp, Identifier, Word}, token::{Keyword, Token}};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_tree`
[INFO] [stdout]   --> parser/src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ptree::{print_tree, TreeBuilder};
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]     --> parser/src/lib.rs:1166:37
[INFO] [stdout]      |
[INFO] [stdout] 1166 |             Some(TokenSpan { token: t, span: _ }) => {
[INFO] [stdout]      |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1224:13
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         let id = match cursor.peek() { 
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1225:66
[INFO] [stdout]      |
[INFO] [stdout] 1225 |             Some(TokenSpan { token: Token::Word(Word::Identifier(id)), ..}) => Some(ID(cursor.next().unwrap())),
[INFO] [stdout]      |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarations`
[INFO] [stdout]     --> parser/src/lib.rs:1231:13
[INFO] [stdout]      |
[INFO] [stdout] 1231 |         let declarations = VarDeclarations::parse(cursor)?;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]     --> parser/src/lib.rs:1221:8
[INFO] [stdout]      |
[INFO] [stdout] 1220 | impl FunctionDeclaration {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1221 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]     --> parser/src/lib.rs:1335:8
[INFO] [stdout]      |
[INFO] [stdout] 1334 | impl Variables { 
[INFO] [stdout]      | -------------- associated function in this implementation
[INFO] [stdout] 1335 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling askama_derive v0.10.5
[INFO] [stderr]    Compiling askama v0.10.5
[INFO] [stderr]    Compiling runtime v0.1.0 (/opt/rustwide/workdir/runtime)
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `any::Any`, `default`
[INFO] [stdout]  --> runtime/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, borrow::{Borrow, BorrowMut}, default, fmt::Debug, io::Write, net::{TcpListener, TcpStream}, ops::DerefMut, sync::{Arc...
[INFO] [stdout]   |           ^^^^^^^^           ^^^^^^  ^^^^^^^^^   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::__Deref`
[INFO] [stdout]  --> runtime/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lazy_static::__Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/lib.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logfn_inputs`
[INFO] [stdout]  --> runtime/src/lib.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log_derive::{logfn, logfn_inputs};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Identifier`, `Lexer`, `Span`
[INFO] [stdout]   --> runtime/src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     token::{Identifier, Token, Word},
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 11 |     Lexer, Span, TokenError, TokenSpan,
[INFO] [stdout]    |     ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeclarationType`
[INFO] [stdout]   --> runtime/src/lib.rs:14:83
[INFO] [stdout]    |
[INFO] [stdout] 14 |     cursor::Cursor, Assignment, BasicVarDeclaration, Body, Constant, Declaration, DeclarationType,
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpSocket`
[INFO] [stdout]   --> runtime/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::net::TcpSocket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow`, `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> runtime/src/scope.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::Borrow, cell::RefCell, rc::Rc, sync::{Arc, Mutex}};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> runtime/src/scope.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::variable::{Value, Variable};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/scope.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{ trace, debug, warn, info, error };
[INFO] [stdout]   |                   ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chain`, `Context`, `Error as AnyError`, `bail`
[INFO] [stdout]   --> runtime/src/lib.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{bail, Chain, Context, Error as AnyError};
[INFO] [stdout]    |              ^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]   --> runtime/src/lib.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 | use variable::{CallableFunction, Map, Value, Variable};
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> runtime/src/lib.rs:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |                        return match self.scopes.get(c.0.token.value()) {
[INFO] [stdout]     |   _____________________^______-
[INFO] [stdout]     |  |_____________________|
[INFO] [stdout]     | ||
[INFO] [stdout] 352 | ||                         Some(v) => return Ok(v),
[INFO] [stdout] 353 | ||                         None => {
[INFO] [stdout] 354 | ||                             return Err(RuntimeError::ReferenceError(format!(
[INFO] [stdout] ...   ||
[INFO] [stdout] 358 | ||                         }
[INFO] [stdout] 359 | ||                     }
[INFO] [stdout]     | ||                     ^
[INFO] [stdout]     | ||_____________________|
[INFO] [stdout]     |  |_____________________unreachable expression
[INFO] [stdout]     |                        any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> runtime/src/variable.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Value::Function(f) => todo!(),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> runtime/src/variable.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Value::Native(n) => true,
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> runtime/src/variable.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> runtime/src/lib.rs:498:38
[INFO] [stdout]     |
[INFO] [stdout] 498 |             ParsedVariable::Callable(c) => unreachable!(),
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> runtime/src/lib.rs:567:41
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dimensions`
[INFO] [stdout]    --> runtime/src/lib.rs:567:45
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: try ignoring the field: `dimensions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> runtime/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let mut var = match var.deref_mut() {
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut var = match var.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut stream = match stream.deref_mut() {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |             let mut map = match map.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_with_mutex` is never used
[INFO] [stdout]   --> runtime/src/scope.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ScopeManager {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn set_with_mutex(&mut self, variable: Arc<Mutex<Variable>>) -> Result<(), SetError> { 
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> runtime/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         runtime.add_function("server_create", |_, args| {
[INFO] [stdout] 45 | |             if args.len() != 1 {
[INFO] [stdout] 46 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 47 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |             Ok(Variable::arc(None, Value::Native(Box::new(server))))
[INFO] [stdout] 73 | |         });
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = runtime.add_function("server_create", |_, args| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  | /         runtime.add_function("server_accept", |_, args| {
[INFO] [stdout] 76  | |             if args.len() != 1 {
[INFO] [stdout] 77  | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 78  | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |             Ok(Variable::arc(None, Value::Map(map)))
[INFO] [stdout] 109 | |         });
[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] 75  |         let _ = runtime.add_function("server_accept", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         runtime.add_function("server_send", |_, args| {
[INFO] [stdout] 112 | |             if args.len() != 2 {
[INFO] [stdout] 113 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 114 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 168 | |         });
[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] 111 |         let _ = runtime.add_function("server_send", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             stream.write(response.as_bytes());
[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] 163 |             let _ = stream.write(response.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 | /         runtime.add_function("map", |_, _| {
[INFO] [stdout] 171 | |             Ok(Variable::arc(None, Value::Map(HashMap::default())))
[INFO] [stdout] 172 | |         });
[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] 170 |         let _ = runtime.add_function("map", |_, _| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | /         runtime.add_function("read_file", |_, args| {
[INFO] [stdout] 176 | |             if args.len() != 1 {
[INFO] [stdout] 177 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 178 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |             Ok(Variable::arc(None, Value::String(result)))
[INFO] [stdout] 196 | |         });
[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] 175 |         let _ = runtime.add_function("read_file", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 | /         runtime.add_function("map_get", |_, args| {
[INFO] [stdout] 199 | |             if args.len() != 2 {
[INFO] [stdout] 200 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 201 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |             })
[INFO] [stdout] 230 | |         });
[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] 198 |         let _ = runtime.add_function("map_get", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | /         runtime.add_function("map_set", |_, args| {
[INFO] [stdout] 233 | |             if args.len() != 3 {
[INFO] [stdout] 234 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 235 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 264 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 265 | |         });
[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] 232 |         let _ = runtime.add_function("map_set", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 | /         self.scopes.set(Variable::new(
[INFO] [stdout] 378 | |             Some(identifier.to_string()),
[INFO] [stdout] 379 | |             Arc::new(Mutex::new(Value::Function(FunctionValue::Native(function)))),
[INFO] [stdout] 380 | |         ));
[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] 377 |         let _ = self.scopes.set(Variable::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |             self.handle_labeled_statement(statement);
[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] 424 |             let _ = self.handle_labeled_statement(statement);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         self.handle_statement(&statement.statement);
[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] 432 |         let _ = self.handle_statement(&statement.statement);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |             self.handle_body(&statement.body);
[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] 456 |             let _ = self.handle_body(&statement.body);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fort500 v0.1.0 (/opt/rustwide/workdir/fort500)
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `process::exit`
[INFO] [stdout]  --> fort500/src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, fs, process::exit, sync::{Arc, Mutex}};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^         ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RuntimeError`, `RuntimeResult`, `Truthy`
[INFO] [stdout]  --> fort500/src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use runtime::{Runtime, RuntimeError, RuntimeResult, variable::{HashMap, Truthy, Value, Variable}};
[INFO] [stdout]   |                        ^^^^^^^^^^^^  ^^^^^^^^^^^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `warn`
[INFO] [stdout]  --> fort500/src/main.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{ error, warn, info, };
[INFO] [stdout]   |                   ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]  --> fort500/src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn init_runtime(runtime: &mut Runtime) {
[INFO] [stdout]   |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fort500/src/main.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fort500/src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         runtime.eval(fs::read_to_string(input).unwrap());
[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] 63 |         let _ = runtime.eval(fs::read_to_string(input).unwrap());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> fort500/src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         runtime.eval_program(program);
[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] 102 |         let _ = runtime.eval_program(program);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 26.26s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2, nom v6.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "83d9c569845e56fcb0edb919a43de8b14147e8f73f07a5b9a0ad7642e6d9d1d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83d9c569845e56fcb0edb919a43de8b14147e8f73f07a5b9a0ad7642e6d9d1d7", kill_on_drop: false }`
[INFO] [stdout] 83d9c569845e56fcb0edb919a43de8b14147e8f73f07a5b9a0ad7642e6d9d1d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6871f888017b528005e68ee3ec604150ba43c50b2ce57c4a5bdcfe3f237e3c04
[INFO] running `Command { std: "docker" "start" "-a" "6871f888017b528005e68ee3ec604150ba43c50b2ce57c4a5bdcfe3f237e3c04", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling semver v1.0.4
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> lexer/src/lib.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     todo!("handle backslash");
[INFO] [stdout]     |                     ------------------------- any code following this expression is unreachable
[INFO] [stdout] 179 |                     true
[INFO] [stdout]     |                     ^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             type_ = Some(Type::Positive);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> lexer/src/lib.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn handle_e_number(&mut self, input: String) -> LexerResult<Token> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:33
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:33
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]    --> lexer/src/lib.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let (first, second) = {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `original`, `chars`, and `current_pos` are never read
[INFO] [stdout]   --> lexer/src/lib.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StringInput<'chars> {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 47 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 48 |     chars: Peekable<Chars<'chars>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     current_pos: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StringInput` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original` is never read
[INFO] [stdout]   --> lexer/src/lib.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lexer<'chars> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 68 |     input: Peekable<Chars<'chars>>,
[INFO] [stdout] 69 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_word` is never used
[INFO] [stdout]    --> lexer/src/token.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl Keyword {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 488 |     fn into_word(self) -> Word {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling plotters-backend v0.3.2
[INFO] [stdout] warning: unused import: `LexerResult`
[INFO] [stdout]  --> parser/src/cursor.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lexer::{Lexer, LexerResult, TokenError, TokenSpan, token::{Identifier, Token, Word}};
[INFO] [stdout]   |                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinOp`
[INFO] [stdout]  --> parser/src/lib.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{TokenSpan, token::{AssignOp, BinOp, Identifier, Word}, token::{Keyword, Token}};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `print_tree`
[INFO] [stdout]   --> parser/src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ptree::{print_tree, TreeBuilder};
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]     --> parser/src/lib.rs:1166:37
[INFO] [stdout]      |
[INFO] [stdout] 1166 |             Some(TokenSpan { token: t, span: _ }) => {
[INFO] [stdout]      |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1224:13
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         let id = match cursor.peek() { 
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1225:66
[INFO] [stdout]      |
[INFO] [stdout] 1225 |             Some(TokenSpan { token: Token::Word(Word::Identifier(id)), ..}) => Some(ID(cursor.next().unwrap())),
[INFO] [stdout]      |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarations`
[INFO] [stdout]     --> parser/src/lib.rs:1231:13
[INFO] [stdout]      |
[INFO] [stdout] 1231 |         let declarations = VarDeclarations::parse(cursor)?;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]     --> parser/src/lib.rs:1221:8
[INFO] [stdout]      |
[INFO] [stdout] 1220 | impl FunctionDeclaration {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1221 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]     --> parser/src/lib.rs:1335:8
[INFO] [stdout]      |
[INFO] [stdout] 1334 | impl Variables { 
[INFO] [stdout]      | -------------- associated function in this implementation
[INFO] [stdout] 1335 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling half v1.7.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `any::Any`, `default`
[INFO] [stdout]  --> runtime/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, borrow::{Borrow, BorrowMut}, default, fmt::Debug, io::Write, net::{TcpListener, TcpStream}, ops::DerefMut, sync::{Arc...
[INFO] [stdout]   |           ^^^^^^^^           ^^^^^^  ^^^^^^^^^   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::__Deref`
[INFO] [stdout]  --> runtime/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lazy_static::__Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/lib.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logfn_inputs`
[INFO] [stdout]  --> runtime/src/lib.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log_derive::{logfn, logfn_inputs};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Identifier`, `Lexer`, `Span`
[INFO] [stdout]   --> runtime/src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     token::{Identifier, Token, Word},
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 11 |     Lexer, Span, TokenError, TokenSpan,
[INFO] [stdout]    |     ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeclarationType`
[INFO] [stdout]   --> runtime/src/lib.rs:14:83
[INFO] [stdout]    |
[INFO] [stdout] 14 |     cursor::Cursor, Assignment, BasicVarDeclaration, Body, Constant, Declaration, DeclarationType,
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpSocket`
[INFO] [stdout]   --> runtime/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::net::TcpSocket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow`, `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> runtime/src/scope.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::Borrow, cell::RefCell, rc::Rc, sync::{Arc, Mutex}};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> runtime/src/scope.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::variable::{Value, Variable};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/scope.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{ trace, debug, warn, info, error };
[INFO] [stdout]   |                   ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chain`, `Context`, `Error as AnyError`, `bail`
[INFO] [stdout]   --> runtime/src/lib.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{bail, Chain, Context, Error as AnyError};
[INFO] [stdout]    |              ^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]   --> runtime/src/lib.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 | use variable::{CallableFunction, Map, Value, Variable};
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> runtime/src/lib.rs:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |                        return match self.scopes.get(c.0.token.value()) {
[INFO] [stdout]     |   _____________________^______-
[INFO] [stdout]     |  |_____________________|
[INFO] [stdout]     | ||
[INFO] [stdout] 352 | ||                         Some(v) => return Ok(v),
[INFO] [stdout] 353 | ||                         None => {
[INFO] [stdout] 354 | ||                             return Err(RuntimeError::ReferenceError(format!(
[INFO] [stdout] ...   ||
[INFO] [stdout] 358 | ||                         }
[INFO] [stdout] 359 | ||                     }
[INFO] [stdout]     | ||                     ^
[INFO] [stdout]     | ||_____________________|
[INFO] [stdout]     |  |_____________________unreachable expression
[INFO] [stdout]     |                        any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> runtime/src/variable.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Value::Function(f) => todo!(),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> runtime/src/variable.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Value::Native(n) => true,
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> runtime/src/variable.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> runtime/src/lib.rs:498:38
[INFO] [stdout]     |
[INFO] [stdout] 498 |             ParsedVariable::Callable(c) => unreachable!(),
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> runtime/src/lib.rs:567:41
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dimensions`
[INFO] [stdout]    --> runtime/src/lib.rs:567:45
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: try ignoring the field: `dimensions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> runtime/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let mut var = match var.deref_mut() {
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut var = match var.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut stream = match stream.deref_mut() {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |             let mut map = match map.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_with_mutex` is never used
[INFO] [stdout]   --> runtime/src/scope.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ScopeManager {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn set_with_mutex(&mut self, variable: Arc<Mutex<Variable>>) -> Result<(), SetError> { 
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> runtime/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         runtime.add_function("server_create", |_, args| {
[INFO] [stdout] 45 | |             if args.len() != 1 {
[INFO] [stdout] 46 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 47 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |             Ok(Variable::arc(None, Value::Native(Box::new(server))))
[INFO] [stdout] 73 | |         });
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = runtime.add_function("server_create", |_, args| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  | /         runtime.add_function("server_accept", |_, args| {
[INFO] [stdout] 76  | |             if args.len() != 1 {
[INFO] [stdout] 77  | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 78  | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |             Ok(Variable::arc(None, Value::Map(map)))
[INFO] [stdout] 109 | |         });
[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] 75  |         let _ = runtime.add_function("server_accept", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         runtime.add_function("server_send", |_, args| {
[INFO] [stdout] 112 | |             if args.len() != 2 {
[INFO] [stdout] 113 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 114 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 168 | |         });
[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] 111 |         let _ = runtime.add_function("server_send", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             stream.write(response.as_bytes());
[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] 163 |             let _ = stream.write(response.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 | /         runtime.add_function("map", |_, _| {
[INFO] [stdout] 171 | |             Ok(Variable::arc(None, Value::Map(HashMap::default())))
[INFO] [stdout] 172 | |         });
[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] 170 |         let _ = runtime.add_function("map", |_, _| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | /         runtime.add_function("read_file", |_, args| {
[INFO] [stdout] 176 | |             if args.len() != 1 {
[INFO] [stdout] 177 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 178 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |             Ok(Variable::arc(None, Value::String(result)))
[INFO] [stdout] 196 | |         });
[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] 175 |         let _ = runtime.add_function("read_file", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 | /         runtime.add_function("map_get", |_, args| {
[INFO] [stdout] 199 | |             if args.len() != 2 {
[INFO] [stdout] 200 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 201 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |             })
[INFO] [stdout] 230 | |         });
[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] 198 |         let _ = runtime.add_function("map_get", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | /         runtime.add_function("map_set", |_, args| {
[INFO] [stdout] 233 | |             if args.len() != 3 {
[INFO] [stdout] 234 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 235 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 264 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 265 | |         });
[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] 232 |         let _ = runtime.add_function("map_set", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 | /         self.scopes.set(Variable::new(
[INFO] [stdout] 378 | |             Some(identifier.to_string()),
[INFO] [stdout] 379 | |             Arc::new(Mutex::new(Value::Function(FunctionValue::Native(function)))),
[INFO] [stdout] 380 | |         ));
[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] 377 |         let _ = self.scopes.set(Variable::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |             self.handle_labeled_statement(statement);
[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] 424 |             let _ = self.handle_labeled_statement(statement);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         self.handle_statement(&statement.statement);
[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] 432 |         let _ = self.handle_statement(&statement.statement);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |             self.handle_body(&statement.body);
[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] 456 |             let _ = self.handle_body(&statement.body);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fort500 v0.1.0 (/opt/rustwide/workdir/fort500)
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `process::exit`
[INFO] [stdout]  --> fort500/src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, fs, process::exit, sync::{Arc, Mutex}};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^         ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RuntimeError`, `RuntimeResult`, `Truthy`
[INFO] [stdout]  --> fort500/src/main.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use runtime::{Runtime, RuntimeError, RuntimeResult, variable::{HashMap, Truthy, Value, Variable}};
[INFO] [stdout]   |                        ^^^^^^^^^^^^  ^^^^^^^^^^^^^                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info`, `warn`
[INFO] [stdout]  --> fort500/src/main.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{ error, warn, info, };
[INFO] [stdout]   |                   ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]  --> fort500/src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn init_runtime(runtime: &mut Runtime) {
[INFO] [stdout]   |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fort500/src/main.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fort500/src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         runtime.eval(fs::read_to_string(input).unwrap());
[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] 63 |         let _ = runtime.eval(fs::read_to_string(input).unwrap());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> fort500/src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         runtime.eval_program(program);
[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] 102 |         let _ = runtime.eval_program(program);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling plotters-svg v0.3.1
[INFO] [stderr]    Compiling bstr v0.2.15
[INFO] [stderr]    Compiling parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stderr]    Compiling lexer v0.1.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]    Compiling plotters v0.3.1
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stdout] warning: unused import: `LexerResult`
[INFO] [stdout]  --> parser/src/cursor.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lexer::{Lexer, LexerResult, TokenError, TokenSpan, token::{Identifier, Token, Word}};
[INFO] [stdout]   |                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinOp`
[INFO] [stdout]  --> parser/src/lib.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lexer::{TokenSpan, token::{AssignOp, BinOp, Identifier, Word}, token::{Keyword, Token}};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> lexer/src/lib.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     todo!("handle backslash");
[INFO] [stdout]     |                     ------------------------- any code following this expression is unreachable
[INFO] [stdout] 179 |                     true
[INFO] [stdout]     |                     ^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `type_` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             type_ = Some(Type::Positive);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> lexer/src/lib.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn handle_e_number(&mut self, input: String) -> LexerResult<Token> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:257:33
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_first` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:18
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_first` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_second` is assigned to, but never used
[INFO] [stdout]    --> lexer/src/lib.rs:324:33
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_has_second` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second`
[INFO] [stdout]    --> lexer/src/lib.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let (first, second) = {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_first` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     has_first = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_second` is never read
[INFO] [stdout]    --> lexer/src/lib.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 has_second = false;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> lexer/src/lib.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let s = serde_json::to_string(&lexer.lex()).unwrap();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]     --> parser/src/lib.rs:1166:37
[INFO] [stdout]      |
[INFO] [stdout] 1166 |             Some(TokenSpan { token: t, span: _ }) => {
[INFO] [stdout]      |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1224:13
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         let id = match cursor.peek() { 
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> parser/src/lib.rs:1225:66
[INFO] [stdout]      |
[INFO] [stdout] 1225 |             Some(TokenSpan { token: Token::Word(Word::Identifier(id)), ..}) => Some(ID(cursor.next().unwrap())),
[INFO] [stdout]      |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declarations`
[INFO] [stdout]     --> parser/src/lib.rs:1231:13
[INFO] [stdout]      |
[INFO] [stdout] 1231 |         let declarations = VarDeclarations::parse(cursor)?;
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `original`, `chars`, and `current_pos` are never read
[INFO] [stdout]   --> lexer/src/lib.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StringInput<'chars> {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 47 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 48 |     chars: Peekable<Chars<'chars>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     current_pos: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StringInput` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original` is never read
[INFO] [stdout]   --> lexer/src/lib.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lexer<'chars> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 68 |     input: Peekable<Chars<'chars>>,
[INFO] [stdout] 69 |     original: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_word` is never used
[INFO] [stdout]    --> lexer/src/token.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | impl Keyword {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 488 |     fn into_word(self) -> Word {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]     --> parser/src/lib.rs:1221:8
[INFO] [stdout]      |
[INFO] [stdout] 1220 | impl FunctionDeclaration {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1221 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion-plot v0.4.4
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.3.5
[INFO] [stderr]    Compiling runtime v0.1.0 (/opt/rustwide/workdir/runtime)
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `any::Any`, `default`
[INFO] [stdout]  --> runtime/src/lib.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::Any, borrow::{Borrow, BorrowMut}, default, fmt::Debug, io::Write, net::{TcpListener, TcpStream}, ops::DerefMut, sync::{Arc...
[INFO] [stdout]   |           ^^^^^^^^           ^^^^^^  ^^^^^^^^^   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::__Deref`
[INFO] [stdout]  --> runtime/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lazy_static::__Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/lib.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{error, info, trace, warn};
[INFO] [stdout]   |           ^^^^^  ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logfn_inputs`
[INFO] [stdout]  --> runtime/src/lib.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log_derive::{logfn, logfn_inputs};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Identifier`, `Lexer`, `Span`
[INFO] [stdout]   --> runtime/src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     token::{Identifier, Token, Word},
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 11 |     Lexer, Span, TokenError, TokenSpan,
[INFO] [stdout]    |     ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeclarationType`
[INFO] [stdout]   --> runtime/src/lib.rs:14:83
[INFO] [stdout]    |
[INFO] [stdout] 14 |     cursor::Cursor, Assignment, BasicVarDeclaration, Body, Constant, Declaration, DeclarationType,
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpSocket`
[INFO] [stdout]   --> runtime/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::net::TcpSocket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow`, `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> runtime/src/scope.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::Borrow, cell::RefCell, rc::Rc, sync::{Arc, Mutex}};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> runtime/src/scope.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::variable::{Value, Variable};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, `warn`
[INFO] [stdout]  --> runtime/src/scope.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{ trace, debug, warn, info, error };
[INFO] [stdout]   |                   ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chain`, `Context`, `Error as AnyError`, `bail`
[INFO] [stdout]   --> runtime/src/lib.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{bail, Chain, Context, Error as AnyError};
[INFO] [stdout]    |              ^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]   --> runtime/src/lib.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 | use variable::{CallableFunction, Map, Value, Variable};
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> runtime/src/lib.rs:351:21
[INFO] [stdout]     |
[INFO] [stdout] 351 |                        return match self.scopes.get(c.0.token.value()) {
[INFO] [stdout]     |   _____________________^______-
[INFO] [stdout]     |  |_____________________|
[INFO] [stdout]     | ||
[INFO] [stdout] 352 | ||                         Some(v) => return Ok(v),
[INFO] [stdout] 353 | ||                         None => {
[INFO] [stdout] 354 | ||                             return Err(RuntimeError::ReferenceError(format!(
[INFO] [stdout] ...   ||
[INFO] [stdout] 358 | ||                         }
[INFO] [stdout] 359 | ||                     }
[INFO] [stdout]     | ||                     ^
[INFO] [stdout]     | ||_____________________|
[INFO] [stdout]     |  |_____________________unreachable expression
[INFO] [stdout]     |                        any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scopes`
[INFO] [stdout]    --> runtime/src/scope.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut scopes = ScopeManager::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scopes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> runtime/src/variable.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             Value::Function(f) => todo!(),
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> runtime/src/variable.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Value::Native(n) => true,
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> runtime/src/variable.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> runtime/src/lib.rs:498:38
[INFO] [stdout]     |
[INFO] [stdout] 498 |             ParsedVariable::Callable(c) => unreachable!(),
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> runtime/src/lib.rs:567:41
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dimensions`
[INFO] [stdout]    --> runtime/src/lib.rs:567:45
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: try ignoring the field: `dimensions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `runtime`
[INFO] [stdout]    --> runtime/src/lib.rs:578:13
[INFO] [stdout]     |
[INFO] [stdout] 578 |     let mut runtime = Runtime::default();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/scope.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut scopes = ScopeManager::default();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> runtime/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let mut var = match var.deref_mut() {
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut var = match var.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut stream = match stream.deref_mut() {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |             let mut map = match map.deref_mut() {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> runtime/src/lib.rs:578:9
[INFO] [stdout]     |
[INFO] [stdout] 578 |     let mut runtime = Runtime::default();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_with_mutex` is never used
[INFO] [stdout]   --> runtime/src/scope.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ScopeManager {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub(crate) fn set_with_mutex(&mut self, variable: Arc<Mutex<Variable>>) -> Result<(), SetError> { 
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> runtime/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | /         runtime.add_function("server_create", |_, args| {
[INFO] [stdout] 45 | |             if args.len() != 1 {
[INFO] [stdout] 46 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 47 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |             Ok(Variable::arc(None, Value::Native(Box::new(server))))
[INFO] [stdout] 73 | |         });
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let _ = runtime.add_function("server_create", |_, args| {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  | /         runtime.add_function("server_accept", |_, args| {
[INFO] [stdout] 76  | |             if args.len() != 1 {
[INFO] [stdout] 77  | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 78  | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |             Ok(Variable::arc(None, Value::Map(map)))
[INFO] [stdout] 109 | |         });
[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] 75  |         let _ = runtime.add_function("server_accept", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         runtime.add_function("server_send", |_, args| {
[INFO] [stdout] 112 | |             if args.len() != 2 {
[INFO] [stdout] 113 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 114 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 168 | |         });
[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] 111 |         let _ = runtime.add_function("server_send", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             stream.write(response.as_bytes());
[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] 163 |             let _ = stream.write(response.as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 | /         runtime.add_function("map", |_, _| {
[INFO] [stdout] 171 | |             Ok(Variable::arc(None, Value::Map(HashMap::default())))
[INFO] [stdout] 172 | |         });
[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] 170 |         let _ = runtime.add_function("map", |_, _| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | /         runtime.add_function("read_file", |_, args| {
[INFO] [stdout] 176 | |             if args.len() != 1 {
[INFO] [stdout] 177 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 178 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 195 | |             Ok(Variable::arc(None, Value::String(result)))
[INFO] [stdout] 196 | |         });
[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] 175 |         let _ = runtime.add_function("read_file", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 | /         runtime.add_function("map_get", |_, args| {
[INFO] [stdout] 199 | |             if args.len() != 2 {
[INFO] [stdout] 200 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 201 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |             })
[INFO] [stdout] 230 | |         });
[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] 198 |         let _ = runtime.add_function("map_get", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | /         runtime.add_function("map_set", |_, args| {
[INFO] [stdout] 233 | |             if args.len() != 3 {
[INFO] [stdout] 234 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stdout] 235 | |                     "NotEnoughArguments".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 264 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stdout] 265 | |         });
[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] 232 |         let _ = runtime.add_function("map_set", |_, args| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 | /         self.scopes.set(Variable::new(
[INFO] [stdout] 378 | |             Some(identifier.to_string()),
[INFO] [stdout] 379 | |             Arc::new(Mutex::new(Value::Function(FunctionValue::Native(function)))),
[INFO] [stdout] 380 | |         ));
[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] 377 |         let _ = self.scopes.set(Variable::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 |             self.handle_labeled_statement(statement);
[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] 424 |             let _ = self.handle_labeled_statement(statement);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         self.handle_statement(&statement.statement);
[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] 432 |         let _ = self.handle_statement(&statement.statement);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> runtime/src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |             self.handle_body(&statement.body);
[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] 456 |             let _ = self.handle_body(&statement.body);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 9.94s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5, nom v5.1.2, nom v6.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "6871f888017b528005e68ee3ec604150ba43c50b2ce57c4a5bdcfe3f237e3c04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6871f888017b528005e68ee3ec604150ba43c50b2ce57c4a5bdcfe3f237e3c04", kill_on_drop: false }`
[INFO] [stdout] 6871f888017b528005e68ee3ec604150ba43c50b2ce57c4a5bdcfe3f237e3c04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e08ce5466a033f1bde250fd0f0528acd27d884238cb7cf2421c2e9478ef3745
[INFO] running `Command { std: "docker" "start" "-a" "5e08ce5466a033f1bde250fd0f0528acd27d884238cb7cf2421c2e9478ef3745", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> lexer/src/lib.rs:179:21
[INFO] [stderr]     |
[INFO] [stderr] 178 |                     todo!("handle backslash");
[INFO] [stderr]     |                     ------------------------- any code following this expression is unreachable
[INFO] [stderr] 179 |                     true
[INFO] [stderr]     |                     ^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `type_` is never read
[INFO] [stderr]    --> lexer/src/lib.rs:232:13
[INFO] [stderr]     |
[INFO] [stderr] 232 |             type_ = Some(Type::Positive);
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> lexer/src/lib.rs:189:35
[INFO] [stderr]     |
[INFO] [stderr] 189 |     fn handle_e_number(&mut self, input: String) -> LexerResult<Token> {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `has_first` is assigned to, but never used
[INFO] [stderr]    --> lexer/src/lib.rs:257:18
[INFO] [stderr]     |
[INFO] [stderr] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_has_first` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `has_second` is assigned to, but never used
[INFO] [stderr]    --> lexer/src/lib.rs:257:33
[INFO] [stderr]     |
[INFO] [stderr] 257 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stderr]     |                                 ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_has_second` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_first` is never read
[INFO] [stderr]    --> lexer/src/lib.rs:262:21
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     has_first = false;
[INFO] [stderr]     |                     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_second` is never read
[INFO] [stderr]    --> lexer/src/lib.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |                 has_second = false;
[INFO] [stderr]     |                 ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable `has_first` is assigned to, but never used
[INFO] [stderr]    --> lexer/src/lib.rs:324:18
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_has_first` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `has_second` is assigned to, but never used
[INFO] [stderr]    --> lexer/src/lib.rs:324:33
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let (mut has_first, mut has_second) = (true, true);
[INFO] [stderr]     |                                 ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_has_second` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `second`
[INFO] [stderr]    --> lexer/src/lib.rs:325:21
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let (first, second) = {
[INFO] [stderr]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_first` is never read
[INFO] [stderr]    --> lexer/src/lib.rs:329:21
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     has_first = false;
[INFO] [stderr]     |                     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_second` is never read
[INFO] [stderr]    --> lexer/src/lib.rs:344:17
[INFO] [stderr]     |
[INFO] [stderr] 344 |                 has_second = false;
[INFO] [stderr]     |                 ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: fields `original`, `chars`, and `current_pos` are never read
[INFO] [stderr]   --> lexer/src/lib.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct StringInput<'chars> {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 47 |     original: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 48 |     chars: Peekable<Chars<'chars>>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 49 |     current_pos: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StringInput` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `original` is never read
[INFO] [stderr]   --> lexer/src/lib.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub struct Lexer<'chars> {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] 68 |     input: Peekable<Chars<'chars>>,
[INFO] [stderr] 69 |     original: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `into_word` is never used
[INFO] [stderr]    --> lexer/src/token.rs:488:8
[INFO] [stderr]     |
[INFO] [stderr] 487 | impl Keyword {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] 488 |     fn into_word(self) -> Word {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lexer` (lib) generated 15 warnings (run `cargo fix --lib -p lexer` to apply 2 suggestions)
[INFO] [stderr] warning: unused import: `LexerResult`
[INFO] [stderr]  --> parser/src/cursor.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use lexer::{Lexer, LexerResult, TokenError, TokenSpan, token::{Identifier, Token, Word}};
[INFO] [stderr]   |                    ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BinOp`
[INFO] [stderr]  --> parser/src/lib.rs:6:42
[INFO] [stderr]   |
[INFO] [stderr] 6 | use lexer::{TokenSpan, token::{AssignOp, BinOp, Identifier, Word}, token::{Keyword, Token}};
[INFO] [stderr]   |                                          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `print_tree`
[INFO] [stderr]   --> parser/src/lib.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | use ptree::{print_tree, TreeBuilder};
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]     --> parser/src/lib.rs:1166:37
[INFO] [stderr]      |
[INFO] [stderr] 1166 |             Some(TokenSpan { token: t, span: _ }) => {
[INFO] [stderr]      |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]     --> parser/src/lib.rs:1224:13
[INFO] [stderr]      |
[INFO] [stderr] 1224 |         let id = match cursor.peek() { 
[INFO] [stderr]      |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]     --> parser/src/lib.rs:1225:66
[INFO] [stderr]      |
[INFO] [stderr] 1225 |             Some(TokenSpan { token: Token::Word(Word::Identifier(id)), ..}) => Some(ID(cursor.next().unwrap())),
[INFO] [stderr]      |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `declarations`
[INFO] [stderr]     --> parser/src/lib.rs:1231:13
[INFO] [stderr]      |
[INFO] [stderr] 1231 |         let declarations = VarDeclarations::parse(cursor)?;
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declarations`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]     --> parser/src/lib.rs:1221:8
[INFO] [stderr]      |
[INFO] [stderr] 1220 | impl FunctionDeclaration {
[INFO] [stderr]      | ------------------------ associated function in this implementation
[INFO] [stderr] 1221 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse` is never used
[INFO] [stderr]     --> parser/src/lib.rs:1335:8
[INFO] [stderr]      |
[INFO] [stderr] 1334 | impl Variables { 
[INFO] [stderr]      | -------------- associated function in this implementation
[INFO] [stderr] 1335 |     fn parse(cursor: &mut Cursor) -> ParseResult<Self> { 
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `parser` (lib) generated 9 warnings (run `cargo fix --lib -p parser` to apply 7 suggestions)
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> lexer/src/lib.rs:564:13
[INFO] [stderr]     |
[INFO] [stderr] 564 |         let s = serde_json::to_string(&lexer.lex()).unwrap();
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: `parser` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: `lexer` (lib test) generated 16 warnings (15 duplicates) (run `cargo fix --lib -p lexer --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow`, `any::Any`, `default`
[INFO] [stderr]  --> runtime/src/lib.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{any::Any, borrow::{Borrow, BorrowMut}, default, fmt::Debug, io::Write, net::{TcpListener, TcpStream}, ops::DerefMut, sync::{Arc...
[INFO] [stderr]   |           ^^^^^^^^           ^^^^^^  ^^^^^^^^^   ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `lazy_static::__Deref`
[INFO] [stderr]  --> runtime/src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use lazy_static::__Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error`, `info`, `warn`
[INFO] [stderr]  --> runtime/src/lib.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | use log::{error, info, trace, warn};
[INFO] [stderr]   |           ^^^^^  ^^^^         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `logfn_inputs`
[INFO] [stderr]  --> runtime/src/lib.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use log_derive::{logfn, logfn_inputs};
[INFO] [stderr]   |                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Identifier`, `Lexer`, `Span`
[INFO] [stderr]   --> runtime/src/lib.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |     token::{Identifier, Token, Word},
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr] 11 |     Lexer, Span, TokenError, TokenSpan,
[INFO] [stderr]    |     ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DeclarationType`
[INFO] [stderr]   --> runtime/src/lib.rs:14:83
[INFO] [stderr]    |
[INFO] [stderr] 14 |     cursor::Cursor, Assignment, BasicVarDeclaration, Body, Constant, Declaration, DeclarationType,
[INFO] [stderr]    |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpSocket`
[INFO] [stderr]   --> runtime/src/lib.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tokio::net::TcpSocket;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `borrow::Borrow`, `cell::RefCell`, `rc::Rc`
[INFO] [stderr]  --> runtime/src/scope.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{borrow::Borrow, cell::RefCell, rc::Rc, sync::{Arc, Mutex}};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> runtime/src/scope.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::variable::{Value, Variable};
[INFO] [stderr]   |                       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `error`, `info`, `warn`
[INFO] [stderr]  --> runtime/src/scope.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | use log::{ trace, debug, warn, info, error };
[INFO] [stderr]   |                   ^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Chain`, `Context`, `Error as AnyError`, `bail`
[INFO] [stderr]   --> runtime/src/lib.rs:26:14
[INFO] [stderr]    |
[INFO] [stderr] 26 | use anyhow::{bail, Chain, Context, Error as AnyError};
[INFO] [stderr]    |              ^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Map`
[INFO] [stderr]   --> runtime/src/lib.rs:29:34
[INFO] [stderr]    |
[INFO] [stderr] 29 | use variable::{CallableFunction, Map, Value, Variable};
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> runtime/src/lib.rs:351:21
[INFO] [stderr]     |
[INFO] [stderr] 351 |                        return match self.scopes.get(c.0.token.value()) {
[INFO] [stderr]     |   _____________________^______-
[INFO] [stderr]     |  |_____________________|
[INFO] [stderr]     | ||
[INFO] [stderr] 352 | ||                         Some(v) => return Ok(v),
[INFO] [stderr] 353 | ||                         None => {
[INFO] [stderr] 354 | ||                             return Err(RuntimeError::ReferenceError(format!(
[INFO] [stderr] ...   ||
[INFO] [stderr] 358 | ||                         }
[INFO] [stderr] 359 | ||                     }
[INFO] [stderr]     | ||                     ^
[INFO] [stderr]     | ||_____________________|
[INFO] [stderr]     |  |_____________________unreachable expression
[INFO] [stderr]     |                        any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]   --> runtime/src/variable.rs:86:29
[INFO] [stderr]    |
[INFO] [stderr] 86 |             Value::Function(f) => todo!(),
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> runtime/src/variable.rs:87:27
[INFO] [stderr]    |
[INFO] [stderr] 87 |             Value::Native(n) => true,
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]    --> runtime/src/variable.rs:102:19
[INFO] [stderr]     |
[INFO] [stderr] 102 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> runtime/src/lib.rs:498:38
[INFO] [stderr]     |
[INFO] [stderr] 498 |             ParsedVariable::Callable(c) => unreachable!(),
[INFO] [stderr]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> runtime/src/lib.rs:567:41
[INFO] [stderr]     |
[INFO] [stderr] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stderr]     |                                         ^^ help: try ignoring the field: `id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dimensions`
[INFO] [stderr]    --> runtime/src/lib.rs:567:45
[INFO] [stderr]     |
[INFO] [stderr] 567 |                 VarDeclaration::Array { id, dimensions } => todo!(),
[INFO] [stderr]     |                                             ^^^^^^^^^^ help: try ignoring the field: `dimensions: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> runtime/src/lib.rs:87:17
[INFO] [stderr]    |
[INFO] [stderr] 87 |             let mut var = match var.deref_mut() {
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> runtime/src/lib.rs:124:17
[INFO] [stderr]     |
[INFO] [stderr] 124 |             let mut var = match var.deref_mut() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> runtime/src/lib.rs:139:17
[INFO] [stderr]     |
[INFO] [stderr] 139 |             let mut stream = match stream.deref_mut() {
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> runtime/src/lib.rs:245:17
[INFO] [stderr]     |
[INFO] [stderr] 245 |             let mut map = match map.deref_mut() {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_with_mutex` is never used
[INFO] [stderr]   --> runtime/src/scope.rs:67:19
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl ScopeManager {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub(crate) fn set_with_mutex(&mut self, variable: Arc<Mutex<Variable>>) -> Result<(), SetError> { 
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> runtime/src/lib.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | /         runtime.add_function("server_create", |_, args| {
[INFO] [stderr] 45 | |             if args.len() != 1 {
[INFO] [stderr] 46 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 47 | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...  |
[INFO] [stderr] 72 | |             Ok(Variable::arc(None, Value::Native(Box::new(server))))
[INFO] [stderr] 73 | |         });
[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)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let _ = runtime.add_function("server_create", |_, args| {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:75:9
[INFO] [stderr]     |
[INFO] [stderr] 75  | /         runtime.add_function("server_accept", |_, args| {
[INFO] [stderr] 76  | |             if args.len() != 1 {
[INFO] [stderr] 77  | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 78  | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |             Ok(Variable::arc(None, Value::Map(map)))
[INFO] [stderr] 109 | |         });
[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] 75  |         let _ = runtime.add_function("server_accept", |_, args| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 | /         runtime.add_function("server_send", |_, args| {
[INFO] [stderr] 112 | |             if args.len() != 2 {
[INFO] [stderr] 113 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 114 | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...   |
[INFO] [stderr] 167 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stderr] 168 | |         });
[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] 111 |         let _ = runtime.add_function("server_send", |_, args| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:163:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |             stream.write(response.as_bytes());
[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] 163 |             let _ = stream.write(response.as_bytes());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 | /         runtime.add_function("map", |_, _| {
[INFO] [stderr] 171 | |             Ok(Variable::arc(None, Value::Map(HashMap::default())))
[INFO] [stderr] 172 | |         });
[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] 170 |         let _ = runtime.add_function("map", |_, _| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 | /         runtime.add_function("read_file", |_, args| {
[INFO] [stderr] 176 | |             if args.len() != 1 {
[INFO] [stderr] 177 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 178 | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...   |
[INFO] [stderr] 195 | |             Ok(Variable::arc(None, Value::String(result)))
[INFO] [stderr] 196 | |         });
[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] 175 |         let _ = runtime.add_function("read_file", |_, args| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:198:9
[INFO] [stderr]     |
[INFO] [stderr] 198 | /         runtime.add_function("map_get", |_, args| {
[INFO] [stderr] 199 | |             if args.len() != 2 {
[INFO] [stderr] 200 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 201 | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...   |
[INFO] [stderr] 229 | |             })
[INFO] [stderr] 230 | |         });
[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] 198 |         let _ = runtime.add_function("map_get", |_, args| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:232:9
[INFO] [stderr]     |
[INFO] [stderr] 232 | /         runtime.add_function("map_set", |_, args| {
[INFO] [stderr] 233 | |             if args.len() != 3 {
[INFO] [stderr] 234 | |                 return Err(RuntimeError::RuntimeError(
[INFO] [stderr] 235 | |                     "NotEnoughArguments".into(),
[INFO] [stderr] ...   |
[INFO] [stderr] 264 | |             Ok(Variable::arc(None, Value::Undefined))
[INFO] [stderr] 265 | |         });
[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] 232 |         let _ = runtime.add_function("map_set", |_, args| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:377:9
[INFO] [stderr]     |
[INFO] [stderr] 377 | /         self.scopes.set(Variable::new(
[INFO] [stderr] 378 | |             Some(identifier.to_string()),
[INFO] [stderr] 379 | |             Arc::new(Mutex::new(Value::Function(FunctionValue::Native(function)))),
[INFO] [stderr] 380 | |         ));
[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] 377 |         let _ = self.scopes.set(Variable::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:424:13
[INFO] [stderr]     |
[INFO] [stderr] 424 |             self.handle_labeled_statement(statement);
[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] 424 |             let _ = self.handle_labeled_statement(statement);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:432:9
[INFO] [stderr]     |
[INFO] [stderr] 432 |         self.handle_statement(&statement.statement);
[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] 432 |         let _ = self.handle_statement(&statement.statement);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> runtime/src/lib.rs:456:13
[INFO] [stderr]     |
[INFO] [stderr] 456 |             self.handle_body(&statement.body);
[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] 456 |             let _ = self.handle_body(&statement.body);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `runtime` (lib) generated 36 warnings (run `cargo fix --lib -p runtime` to apply 22 suggestions)
[INFO] [stderr] warning: unused imports: `Arc`, `Mutex`, `process::exit`
[INFO] [stderr]  --> fort500/src/main.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{env, fs, process::exit, sync::{Arc, Mutex}};
[INFO] [stderr]   |                    ^^^^^^^^^^^^^         ^^^  ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `RuntimeError`, `RuntimeResult`, `Truthy`
[INFO] [stderr]  --> fort500/src/main.rs:6:24
[INFO] [stderr]   |
[INFO] [stderr] 6 | use runtime::{Runtime, RuntimeError, RuntimeResult, variable::{HashMap, Truthy, Value, Variable}};
[INFO] [stderr]   |                        ^^^^^^^^^^^^  ^^^^^^^^^^^^^                      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info`, `warn`
[INFO] [stderr]  --> fort500/src/main.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | use log::{ error, warn, info, };
[INFO] [stderr]   |                   ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `runtime`
[INFO] [stderr]  --> fort500/src/main.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn init_runtime(runtime: &mut Runtime) {
[INFO] [stderr]   |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> fort500/src/main.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[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)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let _ = runtime.scopes.set(Variable::with_value(Some("my_map".to_string()), Value::Map(m)));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> fort500/src/main.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         runtime.eval(fs::read_to_string(input).unwrap());
[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] 63 |         let _ = runtime.eval(fs::read_to_string(input).unwrap());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> fort500/src/main.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         runtime.eval_program(program);
[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] 102 |         let _ = runtime.eval_program(program);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scopes`
[INFO] [stderr]    --> runtime/src/scope.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let mut scopes = ScopeManager::default();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scopes`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]   --> runtime/src/variable.rs:86:29
[INFO] [stderr]    |
[INFO] [stderr] 86 |             Value::Function(f) => todo!(),
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `runtime`
[INFO] [stderr]    --> runtime/src/lib.rs:578:13
[INFO] [stderr]     |
[INFO] [stderr] 578 |     let mut runtime = Runtime::default();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> runtime/src/scope.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let mut scopes = ScopeManager::default();
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> runtime/src/lib.rs:87:17
[INFO] [stderr]    |
[INFO] [stderr] 87 |             let mut var = match var.deref_mut() {
[INFO] [stderr]    |                 ----^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> runtime/src/lib.rs:578:9
[INFO] [stderr]     |
[INFO] [stderr] 578 |     let mut runtime = Runtime::default();
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `fort500` (bin "fort500" test) generated 7 warnings (run `cargo fix --bin "fort500" --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `runtime` (lib test) generated 40 warnings (34 duplicates) (run `cargo fix --lib -p runtime --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5, nom v5.1.2, nom v6.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fort500-746dbc767fa68dac)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lexer-9b95a1b14f050c86)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test token::tokens::invalid_identifier ... ok
[INFO] [stdout] test lexer_tests::lexer ... ok
[INFO] [stdout] test token::tokens::basic_tests ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- token::tokens::basic_tests stdout ----
[INFO] [stdout] thread 'token::tokens::basic_tests' panicked at 'assertion failed: `(left == right)`
[INFO] [stdout]   left: `Ok(Word(Identifier(Identifier(".true"))))`,
[INFO] [stdout]  right: `Err(PossibleToken)`', lexer/src/token.rs:205:13
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5632b22496aa - std::backtrace_rs::backtrace::libunwind::trace::h2f05d0192276a8f6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x5632b22496aa - std::backtrace_rs::backtrace::trace_unsynchronized::hedc23dff7a1af150
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5632b22496aa - std::sys_common::backtrace::_print_fmt::h17541ef7592f3ce2
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x5632b22496aa - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h20f75df5ab0c0792
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5632b226f2df - core::fmt::write::h78109e6f466b3af6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/fmt/mod.rs:1254:17
[INFO] [stdout]    5:     0x5632b2246775 - std::io::Write::write_fmt::hd24bfb68a1b35a25
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/io/mod.rs:1698:15
[INFO] [stdout]    6:     0x5632b2249475 - std::sys_common::backtrace::_print::h8dac57a9f8fbf9a5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x5632b2249475 - std::sys_common::backtrace::print::hf9ecbf41d1aa712f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x5632b224b12e - std::panicking::default_hook::{{closure}}::h04c07acfc84ca028
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:269:22
[INFO] [stdout]    9:     0x5632b224ae61 - std::panicking::default_hook::h01f6bb23e1eceb2c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:285:9
[INFO] [stdout]   10:     0x5632b2158abb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h87fe9f7b2fd49e4c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   11:     0x5632b2158abb - test::test_main::{{closure}}::he94d679243a7531b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5632b224b814 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3f2d6d8b14c4769f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   13:     0x5632b224b814 - std::panicking::rust_panic_with_hook::h2bb3722bbaf2f6df
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:695:13
[INFO] [stdout]   14:     0x5632b224b589 - std::panicking::begin_panic_handler::{{closure}}::h91bc7f36a4be011b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:582:13
[INFO] [stdout]   15:     0x5632b2249b16 - std::sys_common::backtrace::__rust_end_short_backtrace::h8b3d3717114f9e59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x5632b224b2e2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:578:5
[INFO] [stdout]   17:     0x5632b1f8d0e3 - core::panicking::panic_fmt::hfd368e3fbdabea26
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panicking.rs:67:14
[INFO] [stdout]   18:     0x5632b1f8d50f - core::panicking::assert_failed_inner::haef49168e1798a91
[INFO] [stdout]   19:     0x5632b1faf3ba - core::panicking::assert_failed::hfb0de968cecbe3dd
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panicking.rs:228:5
[INFO] [stdout]   20:     0x5632b1f99e3c - lexer::token::tokens::basic_tests::{{closure}}::hce9a34c97a9fd091
[INFO] [stdout]                                at /opt/rustwide/workdir/lexer/src/token.rs:205:13
[INFO] [stdout]   21:     0x5632b1f98f8b - <core::pin::Pin<P> as core::future::future::Future>::poll::h2342d6f2bf694977
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/future/future.rs:125:9
[INFO] [stdout]   22:     0x5632b1fad264 - tokio::runtime::basic_scheduler::Inner<P>::block_on::{{closure}}::{{closure}}::hc2f1cf9caa81b7c8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:208:62
[INFO] [stdout]   23:     0x5632b1f981b0 - tokio::coop::with_budget::{{closure}}::h720c7bc34a663b49
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/coop.rs:106:9
[INFO] [stdout]   24:     0x5632b1faa3b9 - std::thread::local::LocalKey<T>::try_with::h15c901a11f94d53e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/local.rs:252:16
[INFO] [stdout]   25:     0x5632b1fa9dda - std::thread::local::LocalKey<T>::with::hba5f34312f1310db
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/local.rs:228:9
[INFO] [stdout]   26:     0x5632b1fab938 - tokio::coop::with_budget::hfa0224f868d27fe2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/coop.rs:99:5
[INFO] [stdout]   27:     0x5632b1fab938 - tokio::coop::budget::h8f7b68c1f0f86648
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/coop.rs:76:5
[INFO] [stdout]   28:     0x5632b1fab938 - tokio::runtime::basic_scheduler::Inner<P>::block_on::{{closure}}::h6963b6e0e932bfab
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:208:39
[INFO] [stdout]   29:     0x5632b1faee61 - tokio::runtime::basic_scheduler::enter::{{closure}}::h40cd4a638bf0fad3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:302:29
[INFO] [stdout]   30:     0x5632b1f9db27 - tokio::macros::scoped_tls::ScopedKey<T>::set::h54ceb03fa8c619f2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/macros/scoped_tls.rs:61:9
[INFO] [stdout]   31:     0x5632b1faeaad - tokio::runtime::basic_scheduler::enter::hba8f0a0b2204b82b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:302:5
[INFO] [stdout]   32:     0x5632b1fab57b - tokio::runtime::basic_scheduler::Inner<P>::block_on::h61566adb613d819d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:197:9
[INFO] [stdout]   33:     0x5632b1fad462 - tokio::runtime::basic_scheduler::InnerGuard<P>::block_on::h1bf3ead57b75bb98
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:448:9
[INFO] [stdout]   34:     0x5632b1fadf7f - tokio::runtime::basic_scheduler::BasicScheduler<P>::block_on::hd65a43ad60c5d8c6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/basic_scheduler.rs:157:24
[INFO] [stdout]   35:     0x5632b1fa021e - tokio::runtime::Runtime::block_on::h49600f74d9e89e61
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.10.0/src/runtime/mod.rs:450:46
[INFO] [stdout]   36:     0x5632b1f99145 - lexer::token::tokens::basic_tests::h08663268252a9ac4
[INFO] [stdout]                                at /opt/rustwide/workdir/lexer/src/token.rs:204:9
[INFO] [stdout]   37:     0x5632b1f99077 - lexer::token::tokens::basic_tests::{{closure}}::hfb3b7c7628a24049
[INFO] [stdout]                                at /opt/rustwide/workdir/lexer/src/token.rs:168:28
[INFO] [stdout]   38:     0x5632b1f9b755 - core::ops::function::FnOnce::call_once::ha8c56727d97058a4
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x5632b215d98f - core::ops::function::FnOnce::call_once::ha6a70e79f7481a7e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5632b215d98f - test::__rust_begin_short_backtrace::hce33033019b61e69
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:655:18
[INFO] [stdout]   41:     0x5632b212b17c - test::run_test::{{closure}}::h858d3528838ae3e5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:646:30
[INFO] [stdout]   42:     0x5632b212b17c - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8ac2b00f01ae79e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5632b215ca66 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8093d25b522725ef
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   44:     0x5632b215ca66 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h5c334c204e4a3913
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   45:     0x5632b215ca66 - std::panicking::try::do_call::ha8b740c7b9478074
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   46:     0x5632b215ca66 - std::panicking::try::h5d34f63d0e41b64e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   47:     0x5632b215ca66 - std::panic::catch_unwind::hcfbb511e1aa7fc67
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   48:     0x5632b215ca66 - test::run_test_in_process::h9abda90f802eaf21
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:678:27
[INFO] [stdout]   49:     0x5632b215ca66 - test::run_test::run_test_inner::{{closure}}::h0f058de91f6c6edf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:572:39
[INFO] [stdout]   50:     0x5632b2125985 - test::run_test::run_test_inner::{{closure}}::h5ca48a4c59c6c1fb
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/test/src/lib.rs:599:37
[INFO] [stdout]   51:     0x5632b2125985 - std::sys_common::backtrace::__rust_begin_short_backtrace::h32bd51e1495d4a33
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   52:     0x5632b212aec1 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc086fae9b128b2db
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:526:17
[INFO] [stdout]   53:     0x5632b212aec1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb66571888d270d43
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   54:     0x5632b212aec1 - std::panicking::try::do_call::h4fa2ef4f6e51fecf
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   55:     0x5632b212aec1 - std::panicking::try::h1e9e22b8584489b5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   56:     0x5632b212aec1 - std::panic::catch_unwind::h44698a3de0e0769e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   57:     0x5632b212aec1 - std::thread::Builder::spawn_unchecked_::{{closure}}::h50153abde3fe239e
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:525:30
[INFO] [stdout]   58:     0x5632b212aec1 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hbe5bbf6f38394364
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   59:     0x5632b224fde5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d83cb2920a49046
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   60:     0x5632b224fde5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbe0a008aa7d9ef59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/alloc/src/boxed.rs:1973:9
[INFO] [stdout]   61:     0x5632b224fde5 - std::sys::unix::thread::Thread::new::thread_start::h3a466996bdf6b1f9
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   62:     0x7f942ff36b43 - <unknown>
[INFO] [stdout]   63:     0x7f942ffc7bb4 - __clone
[INFO] [stdout]   64:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     token::tokens::basic_tests
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p lexer --lib`
[INFO] running `Command { std: "docker" "inspect" "5e08ce5466a033f1bde250fd0f0528acd27d884238cb7cf2421c2e9478ef3745", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e08ce5466a033f1bde250fd0f0528acd27d884238cb7cf2421c2e9478ef3745", kill_on_drop: false }`
[INFO] [stdout] 5e08ce5466a033f1bde250fd0f0528acd27d884238cb7cf2421c2e9478ef3745
