[INFO] cloning repository https://github.com/Adotweb/bifrost
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Adotweb/bifrost" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdotweb%2Fbifrost", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdotweb%2Fbifrost'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 375c391284ae4452f092bc1cbc5bdb50bd2034d3
[INFO] checking Adotweb/bifrost against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdotweb%2Fbifrost" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Adotweb/bifrost
[INFO] finished tweaking git repo https://github.com/Adotweb/bifrost
[INFO] tweaked toml for git repo https://github.com/Adotweb/bifrost written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Adotweb/bifrost on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Adotweb/bifrost 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" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d09f8ee76215f9228034e5833a697bfa44ce3be3c4c5e8b51519466942bacc04
[INFO] running `Command { std: "docker" "start" "-a" "d09f8ee76215f9228034e5833a697bfa44ce3be3c4c5e8b51519466942bacc04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d09f8ee76215f9228034e5833a697bfa44ce3be3c4c5e8b51519466942bacc04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d09f8ee76215f9228034e5833a697bfa44ce3be3c4c5e8b51519466942bacc04", kill_on_drop: false }`
[INFO] [stdout] d09f8ee76215f9228034e5833a697bfa44ce3be3c4c5e8b51519466942bacc04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ca621e522ff8462c5b11031d969ca62c567404ddeaf1a7eec829feae05a5ede
[INFO] running `Command { std: "docker" "start" "-a" "8ca621e522ff8462c5b11031d969ca62c567404ddeaf1a7eec829feae05a5ede", kill_on_drop: false }`
[INFO] [stderr]     Checking bifrost v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/types.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{Expression, Error, Type, Token, TokenType};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/types.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{Expression, Error, Type, Token, TokenType};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |     while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:260:20
[INFO] [stdout]     |
[INFO] [stdout] 260 |     while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |     while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:260:20
[INFO] [stdout]     |
[INFO] [stdout] 260 |     while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |     if let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |     if let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:821:13
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_index`
[INFO] [stdout]    --> src/parser.rs:821:35
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:937:32
[INFO] [stdout]     |
[INFO] [stdout] 937 |                 while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:993:32
[INFO] [stdout]     |
[INFO] [stdout] 993 |                 while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/parser.rs:1058:28
[INFO] [stdout]      |
[INFO] [stdout] 1058 |             while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]      |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/parser.rs:1146:45
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             Expression::StructDeclaration { name, r#type } => { match_optional_token(tokens, current_index, TokenType::SEMICOLON)? },
[INFO] [stdout]      |                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type`
[INFO] [stdout]     --> src/parser.rs:1146:51
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             Expression::StructDeclaration { name, r#type } => { match_optional_token(tokens, current_index, TokenType::SEMICOLON)? },
[INFO] [stdout]      |                                                   ^^^^^^ help: try ignoring the field: `type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1147:33
[INFO] [stdout]      |
[INFO] [stdout] 1147 |             Expression::Block { expressions }  => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                 ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1148:30
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                        ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_block`
[INFO] [stdout]     --> src/parser.rs:1148:41
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                   ^^^^^^^^ help: try ignoring the field: `if_block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_if_blocks`
[INFO] [stdout]     --> src/parser.rs:1148:51
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^ help: try ignoring the field: `else_if_blocks: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_block`
[INFO] [stdout]     --> src/parser.rs:1148:67
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                                             ^^^^^^^^^^ help: try ignoring the field: `else_block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1149:33
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             Expression::While { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]     --> src/parser.rs:1149:44
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             Expression::While { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                            ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1150:31
[INFO] [stdout]      |
[INFO] [stdout] 1150 |             Expression::For { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; }, 
[INFO] [stdout]      |                               ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]     --> src/parser.rs:1150:42
[INFO] [stdout]      |
[INFO] [stdout] 1150 |             Expression::For { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; }, 
[INFO] [stdout]      |                                          ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/parser.rs:1151:30
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                              ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]    --> src/parser.rs:821:13
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]     --> src/parser.rs:1151:36
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/parser.rs:1151:53
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                                                     ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1152:44
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 if let Expression::Block { expressions } = *body {
[INFO] [stdout]      |                                            ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]     --> src/parser.rs:1156:36
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]     --> src/parser.rs:1156:47
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/parser.rs:1156:58
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                                          ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1157:44
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 if let Expression::Block { expressions } = *body {
[INFO] [stdout]      |                                            ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_index`
[INFO] [stdout]    --> src/parser.rs:821:35
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:937:32
[INFO] [stdout]     |
[INFO] [stdout] 937 |                 while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/parser.rs:993:32
[INFO] [stdout]     |
[INFO] [stdout] 993 |                 while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/parser.rs:1058:28
[INFO] [stdout]      |
[INFO] [stdout] 1058 |             while let Some(token) = tokens.get(*current_index){
[INFO] [stdout]      |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/types.rs:108:43
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout]     |                                           ^^^^                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name: _, r#type } | Expression::StructDeclaration { name: _, r#type } => {
[INFO] [stdout]     |                                               +++                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type`
[INFO] [stdout]    --> src/types.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout]     |                                                 ^^^^^^                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 108 -             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout] 108 +             Expression::TypeDeclaration { name, type: _ } | Expression::StructDeclaration { name, type: _ } => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/types.rs:111:39
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                       ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/types.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constant`
[INFO] [stdout]    --> src/types.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                                    ^^^^^^^^ help: try ignoring the field: `constant: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/types.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Expression::Assign { target, value } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/types.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Expression::Assign { target, value } => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]    --> src/types.rs:118:36
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]    --> src/types.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/types.rs:118:58
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                                          ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/types.rs:118:66
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                                                  ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> src/types.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Expression::FunctionCall { function, arguments } => {
[INFO] [stdout]     |                                        ^^^^^^^^ help: try ignoring the field: `function: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]    --> src/types.rs:122:50
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Expression::FunctionCall { function, arguments } => {
[INFO] [stdout]     |                                                  ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/types.rs:126:34
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                  ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/types.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                        ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/types.rs:126:50
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/parser.rs:1146:45
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             Expression::StructDeclaration { name, r#type } => { match_optional_token(tokens, current_index, TokenType::SEMICOLON)? },
[INFO] [stdout]      |                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type`
[INFO] [stdout]     --> src/parser.rs:1146:51
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             Expression::StructDeclaration { name, r#type } => { match_optional_token(tokens, current_index, TokenType::SEMICOLON)? },
[INFO] [stdout]      |                                                   ^^^^^^ help: try ignoring the field: `type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `for_expr` is never used
[INFO] [stdout]    --> src/parser.rs:821:4
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1147:33
[INFO] [stdout]      |
[INFO] [stdout] 1147 |             Expression::Block { expressions }  => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                 ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `types` and `operations` are never read
[INFO] [stdout]   --> src/types.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct TypeEnvironment {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     types : HashMap<String, Type>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     operations : HashMap<(TokenType, Type, Type), Type>
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeEnvironment` 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: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1148:30
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                        ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_block`
[INFO] [stdout]     --> src/parser.rs:1148:41
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                   ^^^^^^^^ help: try ignoring the field: `if_block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_if_blocks`
[INFO] [stdout]     --> src/parser.rs:1148:51
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^ help: try ignoring the field: `else_if_blocks: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_block`
[INFO] [stdout]     --> src/parser.rs:1148:67
[INFO] [stdout]      |
[INFO] [stdout] 1148 | ...   Expression::If { condition, if_block, else_if_blocks, else_block }  => { match_optional_token(&tokens, current_index, TokenType::SE...
[INFO] [stdout]      |                                                             ^^^^^^^^^^ help: try ignoring the field: `else_block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1149:33
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             Expression::While { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]     --> src/parser.rs:1149:44
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             Expression::While { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; },
[INFO] [stdout]      |                                            ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]     --> src/parser.rs:1150:31
[INFO] [stdout]      |
[INFO] [stdout] 1150 |             Expression::For { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; }, 
[INFO] [stdout]      |                               ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]     --> src/parser.rs:1150:42
[INFO] [stdout]      |
[INFO] [stdout] 1150 |             Expression::For { condition, block } => { match_optional_token(&tokens, current_index, TokenType::SEMICOLON)?; }, 
[INFO] [stdout]      |                                          ^^^^^ help: try ignoring the field: `block: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/parser.rs:1151:30
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                              ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]     --> src/parser.rs:1151:36
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/parser.rs:1151:53
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             Expression::Fn { name, arguments, body, result } => {
[INFO] [stdout]      |                                                     ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1152:44
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 if let Expression::Block { expressions } = *body {
[INFO] [stdout]      |                                            ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]     --> src/parser.rs:1156:36
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                    ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]     --> src/parser.rs:1156:47
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/parser.rs:1156:58
[INFO] [stdout]      |
[INFO] [stdout] 1156 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]      |                                                          ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expressions`
[INFO] [stdout]     --> src/parser.rs:1157:44
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 if let Expression::Block { expressions } = *body {
[INFO] [stdout]      |                                            ^^^^^^^^^^^ help: try ignoring the field: `expressions: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/types.rs:108:43
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout]     |                                           ^^^^                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name: _, r#type } | Expression::StructDeclaration { name: _, r#type } => {
[INFO] [stdout]     |                                               +++                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type`
[INFO] [stdout]    --> src/types.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout]     |                                                 ^^^^^^                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 108 -             Expression::TypeDeclaration { name, r#type } | Expression::StructDeclaration { name, r#type } => {
[INFO] [stdout] 108 +             Expression::TypeDeclaration { name, type: _ } | Expression::StructDeclaration { name, type: _ } => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/types.rs:111:39
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                       ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/types.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constant`
[INFO] [stdout]    --> src/types.rs:111:52
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Expression::Declaration { name, value, constant } => {
[INFO] [stdout]     |                                                    ^^^^^^^^ help: try ignoring the field: `constant: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/types.rs:114:34
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Expression::Assign { target, value } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/types.rs:114:42
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Expression::Assign { target, value } => {
[INFO] [stdout]     |                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]    --> src/types.rs:118:36
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: try ignoring the field: `operation: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]    --> src/types.rs:118:47
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/types.rs:118:58
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                                          ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/types.rs:118:66
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Expression::Overload { operation, arguments, result, body } => {
[INFO] [stdout]     |                                                                  ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> src/types.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Expression::FunctionCall { function, arguments } => {
[INFO] [stdout]     |                                        ^^^^^^^^ help: try ignoring the field: `function: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]    --> src/types.rs:122:50
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Expression::FunctionCall { function, arguments } => {
[INFO] [stdout]     |                                                  ^^^^^^^^^ help: try ignoring the field: `arguments: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/types.rs:126:34
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                  ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/types.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                        ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/types.rs:126:50
[INFO] [stdout]     |
[INFO] [stdout] 126 |             Expression::Binary { left, operator, right } => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `for_expr` is never used
[INFO] [stdout]    --> src/parser.rs:821:4
[INFO] [stdout]     |
[INFO] [stdout] 821 | fn for_expr(tokens : &Vec<Token>, current_index : &mut usize) -> FallibleExpression{ 
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `types` and `operations` are never read
[INFO] [stdout]   --> src/types.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct TypeEnvironment {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     types : HashMap<String, Type>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     operations : HashMap<(TokenType, Type, Type), Type>
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeEnvironment` 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 `dev` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] running `Command { std: "docker" "inspect" "8ca621e522ff8462c5b11031d969ca62c567404ddeaf1a7eec829feae05a5ede", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ca621e522ff8462c5b11031d969ca62c567404ddeaf1a7eec829feae05a5ede", kill_on_drop: false }`
[INFO] [stdout] 8ca621e522ff8462c5b11031d969ca62c567404ddeaf1a7eec829feae05a5ede
