[INFO] cloning repository https://github.com/Scoutboy06/AST
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Scoutboy06/AST" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScoutboy06%2FAST", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScoutboy06%2FAST'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04fa7ad3cdd679cfa282385b3c66b8fb4f6ae67e
[INFO] checking Scoutboy06/AST against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScoutboy06%2FAST" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Scoutboy06/AST
[INFO] finished tweaking git repo https://github.com/Scoutboy06/AST
[INFO] tweaked toml for git repo https://github.com/Scoutboy06/AST written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Scoutboy06/AST on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Scoutboy06/AST 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-2-tc2/source/parser/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5
[INFO] running `Command { std: "docker" "start" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5", 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" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/parser/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking siphasher v0.3.11
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking phf_shared v0.10.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking ariadne v0.5.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]    Compiling wasm-encoder v0.239.0
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking leb128fmt v0.1.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking string_cache v0.8.7
[INFO] [stderr]     Checking insta v1.47.2
[INFO] [stderr]     Checking parser_derive v0.1.0 (/opt/rustwide/workdir/parser_derive)
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]     Checking parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: unused import: `Parameter`
[INFO] [stdout]  --> parser/src/parser.rs:3:81
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast_types::declarations::function_declaration::{FunctionDeclaration, Parameter};
[INFO] [stdout]   |                                                                                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentOperator` and `LogicalOperator`
[INFO] [stdout]   --> parser/src/parser.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     AssignmentOperator, BinaryOperator, LogicalOperator, Operator, TokenKindExt, UnaryOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::throw_error`
[INFO] [stdout]   --> parser/src/parser.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::utils::throw_error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parameter`
[INFO] [stdout]  --> parser/src/parser.rs:3:81
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast_types::declarations::function_declaration::{FunctionDeclaration, Parameter};
[INFO] [stdout]   |                                                                                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentOperator` and `LogicalOperator`
[INFO] [stdout]   --> parser/src/parser.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     AssignmentOperator, BinaryOperator, LogicalOperator, Operator, TokenKindExt, UnaryOperator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::throw_error`
[INFO] [stdout]   --> parser/src/parser.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::utils::throw_error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> parser/src/parser.rs:409:21
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 let start_pos = self.current_token.start;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]     --> parser/src/parser.rs:1224:9
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         left: Option<Expression>,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precedence`
[INFO] [stdout]     --> parser/src/parser.rs:1225:9
[INFO] [stdout]      |
[INFO] [stdout] 1225 |         precedence: u8,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precedence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TemplateElementValue` is more private than the item `TemplateElement::value`
[INFO] [stdout]   --> parser/src/ast_types/template_element.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub value: TemplateElementValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `TemplateElement::value` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TemplateElementValue` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> parser/src/ast_types/template_element.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct TemplateElementValue {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> parser/src/parser.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 39 |     source: &'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: methods `parse_program_body_item`, `parse_import_or_export_declaration`, `parse_method_definition`, `parse_assignment_expression`, and `parse_binary_expression` are never used
[INFO] [stdout]     --> parser/src/parser.rs:105:8
[INFO] [stdout]      |
[INFO] [stdout]   44 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  105 |     fn parse_program_body_item(&mut self) -> Result<ProgramBodyItem, ParserErrorInfo> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  119 |     fn parse_import_or_export_declaration(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  693 |     fn parse_method_definition(&mut self) -> Result<MethodDefinition, ParserErrorInfo> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     fn parse_assignment_expression(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1222 |     fn parse_binary_expression(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> parser/src/parser.rs:409:21
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 let start_pos = self.current_token.start;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]     --> parser/src/parser.rs:1224:9
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         left: Option<Expression>,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precedence`
[INFO] [stdout]     --> parser/src/parser.rs:1225:9
[INFO] [stdout]      |
[INFO] [stdout] 1225 |         precedence: u8,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precedence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TemplateElementValue` is more private than the item `TemplateElement::value`
[INFO] [stdout]   --> parser/src/ast_types/template_element.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub value: TemplateElementValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `TemplateElement::value` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TemplateElementValue` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> parser/src/ast_types/template_element.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct TemplateElementValue {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]   --> parser/src/parser.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 39 |     source: &'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: methods `parse_program_body_item`, `parse_import_or_export_declaration`, `parse_method_definition`, `parse_assignment_expression`, and `parse_binary_expression` are never used
[INFO] [stdout]     --> parser/src/parser.rs:105:8
[INFO] [stdout]      |
[INFO] [stdout]   44 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  105 |     fn parse_program_body_item(&mut self) -> Result<ProgramBodyItem, ParserErrorInfo> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  119 |     fn parse_import_or_export_declaration(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  693 |     fn parse_method_definition(&mut self) -> Result<MethodDefinition, ParserErrorInfo> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     fn parse_assignment_expression(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1222 |     fn parse_binary_expression(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking semantic v0.1.0 (/opt/rustwide/workdir/semantic)
[INFO] [stdout] warning: unused imports: `Literal` and `TypeLiteral`
[INFO] [stdout]  --> semantic/src/types.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     literal::{Literal, LiteralValue},
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 6 |     types::{AstType, TypeLiteral},
[INFO] [stdout]   |                      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EmptyStatement` and `operators::Operator`
[INFO] [stdout]   --> semantic/src/visitors/body_visitor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     operators::Operator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         DoWhileStatement, EmptyStatement, ExpressionStatement, ForInStatement, ForOfStatement,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Literal` and `TypeLiteral`
[INFO] [stdout]  --> semantic/src/types.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     literal::{Literal, LiteralValue},
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 6 |     types::{AstType, TypeLiteral},
[INFO] [stdout]   |                      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EmptyStatement` and `operators::Operator`
[INFO] [stdout]   --> semantic/src/visitors/body_visitor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     operators::Operator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |         DoWhileStatement, EmptyStatement, ExpressionStatement, ForInStatement, ForOfStatement,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> semantic/src/visitors/decl_visitor.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout]  86 |         let args: Vec<Symbol> = todo!();
[INFO] [stdout]     |                                 ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 100 |         let display_ret_type = decl.return_type.as_ref().map(|t| t.type_value.to_owned());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         for d in decl.declarations.iter() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut key_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut value_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_key_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:380:14
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let (expected_key_type, expected_value_type) =
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_key_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_value_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:380:33
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let (expected_key_type, expected_value_type) =
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_value_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut key_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut value_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut item_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 438 |         arr: &ArrayExpression,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_item_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let expected_item_type = match expected_type {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_item_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut item_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         expr: &BinaryExpression,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         expected_type: Option<&ResolvedType>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decl`
[INFO] [stdout]   --> semantic/src/visitors/decl_visitor.rs:85:46
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn visit_function_declaration(&mut self, decl: &FunctionDeclaration) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> semantic/src/visitors/decl_visitor.rs:147:39
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn visit_object_expression(&self, obj: &ObjectExpression) {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> semantic/src/visitors/decl_visitor.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout]  86 |         let args: Vec<Symbol> = todo!();
[INFO] [stdout]     |                                 ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 100 |         let display_ret_type = decl.return_type.as_ref().map(|t| t.type_value.to_owned());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         for d in decl.declarations.iter() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut key_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut value_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_key_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:380:14
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let (expected_key_type, expected_value_type) =
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_key_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_value_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:380:33
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let (expected_key_type, expected_value_type) =
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_value_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut key_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut value_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut item_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 438 |         arr: &ArrayExpression,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_item_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let expected_item_type = match expected_type {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_item_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |         let mut item_type = ResolvedType::Unknown;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         expr: &BinaryExpression,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_type`
[INFO] [stdout]    --> semantic/src/visitors/body_visitor.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         expected_type: Option<&ResolvedType>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decl`
[INFO] [stdout]   --> semantic/src/visitors/decl_visitor.rs:85:46
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn visit_function_declaration(&mut self, decl: &FunctionDeclaration) {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> semantic/src/visitors/decl_visitor.rs:147:39
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn visit_object_expression(&self, obj: &ObjectExpression) {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking compiler v0.1.0 (/opt/rustwide/workdir/compiler)
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for stmt in self.program.body.iter() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     for b in &fn_decl.body.body {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scope`, `pop_scope`, and `enter_statement` are never used
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<'a> WasmCompiler<'a> {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] 55 |     fn push_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn pop_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn enter_statement(&mut self, stmt: &Statement) -> Instruction<'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: unused variable: `stmt`
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for stmt in self.program.body.iter() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     for b in &fn_decl.body.body {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_scope`, `pop_scope`, and `enter_statement` are never used
[INFO] [stdout]   --> compiler/src/targets/wasm/mod.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<'a> WasmCompiler<'a> {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] 55 |     fn push_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn pop_scope(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn enter_statement(&mut self, stmt: &Statement) -> Instruction<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cli v0.1.0 (/opt/rustwide/workdir/cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.56s
[INFO] running `Command { std: "docker" "inspect" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5", kill_on_drop: false }`
[INFO] [stdout] 0b01a45cf42af0083f23d283463a49eff55e521b8ff4238ff67ecdf1d53143a5
