[INFO] cloning repository https://github.com/manojsinghnegiwd/rust-js-runtime
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manojsinghnegiwd/rust-js-runtime" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanojsinghnegiwd%2Frust-js-runtime", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanojsinghnegiwd%2Frust-js-runtime'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d7dc1c4b2bca0f55268fd4afca5d4c910d617b9
[INFO] testing manojsinghnegiwd/rust-js-runtime against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanojsinghnegiwd%2Frust-js-runtime" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/manojsinghnegiwd/rust-js-runtime
[INFO] finished tweaking git repo https://github.com/manojsinghnegiwd/rust-js-runtime
[INFO] tweaked toml for git repo https://github.com/manojsinghnegiwd/rust-js-runtime written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manojsinghnegiwd/rust-js-runtime on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/manojsinghnegiwd/rust-js-runtime 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" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e
[INFO] running `Command { std: "docker" "start" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling js-compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/parser/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/runtime/mod.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Runtime`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use runtime::Runtime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initiation` is never read
[INFO] [stdout]    --> src/parser/mod.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut initiation = Stmt::None;
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     initiation = expr_list[0].clone();
[INFO] [stdout]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/parser/mod.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut condition = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 192 |                     condition = expr_list[1].clone();
[INFO] [stdout]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/parser/mod.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut increment = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 193 |                     increment = expr_list[2].clone();
[INFO] [stdout]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             true => {
[INFO] [stdout]     |             ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             false => {
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/runtime/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Parser<'a> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(tokens: &'a Vec<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub fn parse(&mut self) -> Vec<Stmt> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn get_tokens(&mut self) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn parse_scope(&mut self) -> Vec<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn parse_return(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn parse_function(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn parse_function_call(&mut self, name: String) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn parse_for_loop(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn parse_let(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn parse_log(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn parse_if(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     fn parse_loop(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn parse_while(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_expr(&mut self) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     fn next_token(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/types/mod.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/types/mod.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]   --> src/types/mod.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub enum Stmt {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]    --> src/types/mod.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum Value {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Signal` is never used
[INFO] [stdout]    --> src/types/mod.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum Signal {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interpreter` is never constructed
[INFO] [stdout]  --> src/interpreter/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Interpreter {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/interpreter/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Interpreter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(scope: Option<Scope>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub fn eval(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn eval_code_block(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn eval_let(&mut self, name: String, value: Expr) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn eval_let_function (&mut self, name: String, args: Vec<String>, value: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn eval_function_call (&mut self, name: String, args: Vec<Expr>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn eval_assignment(&mut self, name: String, value: Expr) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn eval_log(&mut self, expr: Expr) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn eval_if(&mut self, condition: Box<Expr>, stmts: Box<Stmt>, else_stmt: Box<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn eval_loop(&mut self, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn eval_while(&mut self, condition: Box<Expr>, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn eval_for_loop(&mut self, init: Box<Stmt>, condition: Box<Stmt>, increment: Box<Stmt>, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn eval_expr_with_signal (&mut self, expr: Expr) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     fn eval_expr(&mut self, expr: Expr) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]  --> src/lexer/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Lexer <'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lexer/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(code: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  18 |     pub fn next_token(&mut self) -> Option<Token> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn is_valid_variable_char (&mut self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn read_identifier(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn read_float(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn read_string_literal(&mut self, delimiter: char) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn read_comment(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]  --> src/scope/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Scope {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_rc`, `get`, `contains_key_local`, `assign`, and `define` are never used
[INFO] [stdout]   --> src/scope/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Scope {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(parent: Option<Scope>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_rc(parent: Option<Rc<RefCell<Scope>>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get(&self, name: &str) -> Option<Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn contains_key_local(&self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn assign (&mut self, name: String, value: Value) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn define(&mut self, name: String, value: Value) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Runtime` is never constructed
[INFO] [stdout]  --> src/runtime/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Runtime<'a> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `repl`, `parse_ast`, and `execute` are never used
[INFO] [stdout]   --> src/runtime/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Runtime<'a> {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(code: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn repl (&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn parse_ast (&mut self, code: String) -> Vec<Stmt> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/parser/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/runtime/mod.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             true => {
[INFO] [stdout]     |             ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             false => {
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initiation` is never read
[INFO] [stdout]    --> src/parser/mod.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut initiation = Stmt::None;
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     initiation = expr_list[0].clone();
[INFO] [stdout]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/parser/mod.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut condition = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 192 |                     condition = expr_list[1].clone();
[INFO] [stdout]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/parser/mod.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut increment = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 193 |                     increment = expr_list[2].clone();
[INFO] [stdout]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/runtime/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `output` and `code` are never read
[INFO] [stdout]   --> src/runtime/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Runtime<'a> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     output: Value,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     code: &'a str
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/runtime/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Runtime<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FunctionCall` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Token {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FunctionCall(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Loop` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 84 |     Loop(Box<Stmt>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Return` is never constructed
[INFO] [stdout]    --> src/types/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum Value {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 111 |     Return(Box<Value>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3.30s
[INFO] running `Command { std: "docker" "inspect" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/parser/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/runtime/mod.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Runtime`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use runtime::Runtime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initiation` is never read
[INFO] [stdout]    --> src/parser/mod.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut initiation = Stmt::None;
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     initiation = expr_list[0].clone();
[INFO] [stdout]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/parser/mod.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut condition = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 192 |                     condition = expr_list[1].clone();
[INFO] [stdout]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/parser/mod.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut increment = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 193 |                     increment = expr_list[2].clone();
[INFO] [stdout]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             true => {
[INFO] [stdout]     |             ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             false => {
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/runtime/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Parser<'a> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(tokens: &'a Vec<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub fn parse(&mut self) -> Vec<Stmt> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn get_tokens(&mut self) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn parse_scope(&mut self) -> Vec<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn parse_return(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn parse_function(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn parse_function_call(&mut self, name: String) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn parse_for_loop(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn parse_let(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn parse_log(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn parse_if(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     fn parse_loop(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn parse_while(&mut self) -> Stmt {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_expr(&mut self) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     fn next_token(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/types/mod.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/types/mod.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]   --> src/types/mod.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub enum Stmt {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]    --> src/types/mod.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum Value {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Signal` is never used
[INFO] [stdout]    --> src/types/mod.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum Signal {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interpreter` is never constructed
[INFO] [stdout]  --> src/interpreter/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Interpreter {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/interpreter/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Interpreter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(scope: Option<Scope>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub fn eval(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn eval_code_block(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn eval_let(&mut self, name: String, value: Expr) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn eval_let_function (&mut self, name: String, args: Vec<String>, value: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn eval_function_call (&mut self, name: String, args: Vec<Expr>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn eval_assignment(&mut self, name: String, value: Expr) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn eval_log(&mut self, expr: Expr) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn eval_if(&mut self, condition: Box<Expr>, stmts: Box<Stmt>, else_stmt: Box<Stmt>) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn eval_loop(&mut self, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn eval_while(&mut self, condition: Box<Expr>, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn eval_for_loop(&mut self, init: Box<Stmt>, condition: Box<Stmt>, increment: Box<Stmt>, stmts: Box<Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn eval_expr_with_signal (&mut self, expr: Expr) -> (Value, Signal) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     fn eval_expr(&mut self, expr: Expr) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]  --> src/lexer/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Lexer <'a> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lexer/mod.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(code: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  18 |     pub fn next_token(&mut self) -> Option<Token> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn is_valid_variable_char (&mut self, c: char) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn read_identifier(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn read_float(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn read_string_literal(&mut self, delimiter: char) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn read_comment(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scope` is never constructed
[INFO] [stdout]  --> src/scope/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Scope {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_rc`, `get`, `contains_key_local`, `assign`, and `define` are never used
[INFO] [stdout]   --> src/scope/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Scope {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(parent: Option<Scope>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_rc(parent: Option<Rc<RefCell<Scope>>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get(&self, name: &str) -> Option<Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn contains_key_local(&self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn assign (&mut self, name: String, value: Value) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn define(&mut self, name: String, value: Value) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Runtime` is never constructed
[INFO] [stdout]  --> src/runtime/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Runtime<'a> {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `repl`, `parse_ast`, and `execute` are never used
[INFO] [stdout]   --> src/runtime/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Runtime<'a> {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(code: &'a str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn repl (&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn parse_ast (&mut self, code: String) -> Vec<Stmt> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling js-compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/parser/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/runtime/mod.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/parser/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/runtime/mod.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             true => {
[INFO] [stdout]     |             ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             false => {
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initiation` is never read
[INFO] [stdout]    --> src/parser/mod.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut initiation = Stmt::None;
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     initiation = expr_list[0].clone();
[INFO] [stdout]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/parser/mod.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut condition = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 192 |                     condition = expr_list[1].clone();
[INFO] [stdout]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/parser/mod.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut increment = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 193 |                     increment = expr_list[2].clone();
[INFO] [stdout]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/interpreter/mod.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |             true => {
[INFO] [stdout]     |             ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             false => {
[INFO] [stdout]     |             ----- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/parser/mod.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `initiation` is never read
[INFO] [stdout]    --> src/parser/mod.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut initiation = Stmt::None;
[INFO] [stdout]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     initiation = expr_list[0].clone();
[INFO] [stdout]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `condition` is never read
[INFO] [stdout]    --> src/parser/mod.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut condition = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 192 |                     condition = expr_list[1].clone();
[INFO] [stdout]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `increment` is never read
[INFO] [stdout]    --> src/parser/mod.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut increment = Stmt::None;
[INFO] [stdout]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 193 |                     increment = expr_list[2].clone();
[INFO] [stdout]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/runtime/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signal`
[INFO] [stdout]   --> src/runtime/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/lib.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let output = runtime.execute();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `output` and `code` are never read
[INFO] [stdout]   --> src/runtime/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Runtime<'a> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     output: Value,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 12 |     code: &'a str
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/runtime/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Runtime<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FunctionCall` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Token {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FunctionCall(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Loop` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 84 |     Loop(Box<Stmt>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Return` is never constructed
[INFO] [stdout]    --> src/types/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum Value {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 111 |     Return(Box<Value>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FunctionCall` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Token {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FunctionCall(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Loop` is never constructed
[INFO] [stdout]   --> src/types/mod.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 84 |     Loop(Box<Stmt>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Return` is never constructed
[INFO] [stdout]    --> src/types/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum Value {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 111 |     Return(Box<Value>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output` is never read
[INFO] [stdout]   --> src/runtime/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Runtime<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     output: Value,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `repl` is never used
[INFO] [stdout]   --> src/runtime/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Runtime<'a> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn repl (&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3.07s
[INFO] running `Command { std: "docker" "inspect" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::ptr::null`
[INFO] [stderr]  --> src/parser/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ptr::null;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/runtime/mod.rs:4:26
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::interpreter::{self, Interpreter};
[INFO] [stderr]   |                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `runtime::Runtime`
[INFO] [stderr]  --> src/lib.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use runtime::Runtime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser/mod.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut i = 0;
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/parser/mod.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut i = 0;
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `initiation` is never read
[INFO] [stderr]    --> src/parser/mod.rs:173:30
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let mut initiation = Stmt::None;
[INFO] [stderr]     |                              ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 191 |                     initiation = expr_list[0].clone();
[INFO] [stderr]     |                     ---------- `initiation` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `condition` is never read
[INFO] [stderr]    --> src/parser/mod.rs:174:29
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let mut condition = Stmt::None;
[INFO] [stderr]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 192 |                     condition = expr_list[1].clone();
[INFO] [stderr]     |                     --------- `condition` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `increment` is never read
[INFO] [stderr]    --> src/parser/mod.rs:175:29
[INFO] [stderr]     |
[INFO] [stderr] 175 |         let mut increment = Stmt::None;
[INFO] [stderr]     |                             ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 193 |                     increment = expr_list[2].clone();
[INFO] [stderr]     |                     --------- `increment` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/interpreter/mod.rs:192:13
[INFO] [stderr]     |
[INFO] [stderr] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/interpreter/mod.rs:192:13
[INFO] [stderr]     |
[INFO] [stderr] 176 |             true => {
[INFO] [stderr]     |             ---- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 184 |             false => {
[INFO] [stderr]     |             ----- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 192 |             _ => panic!("Expected a boolean expression"),
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signal`
[INFO] [stderr]   --> src/runtime/mod.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let (value, signal) = interpreter.eval(ast);
[INFO] [stderr]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parser` is never constructed
[INFO] [stderr]  --> src/parser/mod.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Parser<'a> {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/parser/mod.rs:11:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl<'a> Parser<'a> {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr]  11 |     pub fn new(tokens: &'a Vec<Token>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  15 |     pub fn parse(&mut self) -> Vec<Stmt> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  58 |     fn get_tokens(&mut self) -> Vec<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  78 |     fn parse_scope(&mut self) -> Vec<Stmt> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  87 |     fn parse_return(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  92 |     fn parse_function(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     fn parse_function_call(&mut self, name: String) -> Expr {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     fn parse_for_loop(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     fn parse_let(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     fn parse_log(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 244 |     fn parse_if(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 311 |     fn parse_loop(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 320 |     fn parse_while(&mut self) -> Stmt {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 339 |     fn parse_expr(&mut self) -> Expr {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 519 |     fn next_token(&mut self) -> Option<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Token` is never used
[INFO] [stderr]  --> src/types/mod.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Token {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Expr` is never used
[INFO] [stderr]   --> src/types/mod.rs:61:10
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub enum Expr {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Stmt` is never used
[INFO] [stderr]   --> src/types/mod.rs:88:10
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub enum Stmt {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Value` is never used
[INFO] [stderr]    --> src/types/mod.rs:106:10
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub enum Value {
[INFO] [stderr]     |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Signal` is never used
[INFO] [stderr]    --> src/types/mod.rs:116:10
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub enum Signal {
[INFO] [stderr]     |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Interpreter` is never constructed
[INFO] [stderr]  --> src/interpreter/mod.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Interpreter {
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/interpreter/mod.rs:11:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl Interpreter {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr]  11 |     pub fn new(scope: Option<Scope>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  22 |     pub fn eval(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     fn eval_code_block(&mut self, stmts: Vec<Stmt>) -> (Value, Signal) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     fn eval_let(&mut self, name: String, value: Expr) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 |     fn eval_let_function (&mut self, name: String, args: Vec<String>, value: Box<Stmt>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     fn eval_function_call (&mut self, name: String, args: Vec<Expr>) -> (Value, Signal) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     fn eval_assignment(&mut self, name: String, value: Expr) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     fn eval_log(&mut self, expr: Expr) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     fn eval_if(&mut self, condition: Box<Expr>, stmts: Box<Stmt>, else_stmt: Box<Stmt>) -> (Value, Signal) {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     fn eval_loop(&mut self, stmts: Box<Stmt>) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 215 |     fn eval_while(&mut self, condition: Box<Expr>, stmts: Box<Stmt>) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 238 |     fn eval_for_loop(&mut self, init: Box<Stmt>, condition: Box<Stmt>, increment: Box<Stmt>, stmts: Box<Stmt>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 269 |     fn eval_expr_with_signal (&mut self, expr: Expr) -> (Value, Signal) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     fn eval_expr(&mut self, expr: Expr) -> Value {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Lexer` is never constructed
[INFO] [stderr]  --> src/lexer/mod.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Lexer <'a> {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/lexer/mod.rs:11:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl<'a> Lexer<'a> {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr]  11 |     pub fn new(code: &'a str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  18 |     pub fn next_token(&mut self) -> Option<Token> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     fn is_valid_variable_char (&mut self, c: char) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 221 |     fn read_identifier(&mut self) -> Option<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 265 |     fn read_float(&mut self) -> Option<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |     fn read_string_literal(&mut self, delimiter: char) -> Option<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 305 |     fn read_comment(&mut self) -> Option<Token> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Scope` is never constructed
[INFO] [stderr]  --> src/scope/mod.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Scope {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_rc`, `get`, `contains_key_local`, `assign`, and `define` are never used
[INFO] [stderr]   --> src/scope/mod.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Scope {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 12 |     pub fn new(parent: Option<Scope>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn with_rc(parent: Option<Rc<RefCell<Scope>>>) -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn get(&self, name: &str) -> Option<Value> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn contains_key_local(&self, name: &str) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn assign (&mut self, name: String, value: Value) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |     pub fn define(&mut self, name: String, value: Value) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Runtime` is never constructed
[INFO] [stderr]  --> src/runtime/mod.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Runtime<'a> {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `repl`, `parse_ast`, and `execute` are never used
[INFO] [stderr]   --> src/runtime/mod.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<'a> Runtime<'a> {
[INFO] [stderr]    | -------------------- associated items in this implementation
[INFO] [stderr] 16 |     pub fn new(code: &'a str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn repl (&mut self) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn parse_ast (&mut self, code: String) -> Vec<Stmt> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `js-compiler` (lib) generated 25 warnings (run `cargo fix --lib -p js-compiler` to apply 6 suggestions)
[INFO] [stderr] warning: fields `output` and `code` are never read
[INFO] [stderr]   --> src/runtime/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct Runtime<'a> {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     output: Value,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 12 |     code: &'a str
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `execute` is never used
[INFO] [stderr]   --> src/runtime/mod.rs:84:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<'a> Runtime<'a> {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn execute (&mut self) -> Value {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FunctionCall` is never constructed
[INFO] [stderr]   --> src/types/mod.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | pub enum Token {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 54 |     FunctionCall(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Loop` is never constructed
[INFO] [stderr]   --> src/types/mod.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub enum Expr {
[INFO] [stderr]    |          ---- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 84 |     Loop(Box<Stmt>),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Return` is never constructed
[INFO] [stderr]    --> src/types/mod.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub enum Value {
[INFO] [stderr]     |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 111 |     Return(Box<Value>),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `js-compiler` (bin "js-compiler" test) generated 14 warnings (9 duplicates)
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/lib.rs:117:13
[INFO] [stderr]     |
[INFO] [stderr] 117 |         let output = runtime.execute();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FunctionCall` is never constructed
[INFO] [stderr]   --> src/types/mod.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | pub enum Token {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 54 |     FunctionCall(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `output` is never read
[INFO] [stderr]   --> src/runtime/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct Runtime<'a> {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     output: Value,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `repl` is never used
[INFO] [stderr]   --> src/runtime/mod.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<'a> Runtime<'a> {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn repl (&mut self) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `js-compiler` (lib test) generated 15 warnings (11 duplicates) (run `cargo fix --lib -p js-compiler --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/js_compiler-668141167a8f744f)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test tests::assignment ... ok
[INFO] [stdout] test tests::addition ... ok
[INFO] [stdout] test tests::if_test ... ok
[INFO] [stdout] test tests::function_call_stmt ... ok
[INFO] [stdout] test tests::increment ... ok
[INFO] [stdout] test tests::function_call ... ok
[INFO] [stdout] test tests::decrement ... ok
[INFO] [stdout] test tests::while_test ... ok
[INFO] [stdout] test tests::loop_test ... ok
[INFO] [stdout] test tests::nested_function_call ... ok
[INFO] [stdout] test tests::fibnonacci ... ok
[INFO] [stdout] test tests::return_inside_loop ... ok
[INFO] [stdout] test tests::for_loop ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/js_compiler-2c5c0cadb4746caa)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[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]    Doc-tests js_compiler
[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] running `Command { std: "docker" "inspect" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e", kill_on_drop: false }`
[INFO] [stdout] 668bc433df2f4e1a8c8922e919ddb9ca3798d89089f29eddd2ae533e3109150e
